1、Python爬虫开发与项目实战 2025-11-11 演讲人01.基础篇02.03.目录中级篇深入篇01基础篇1 回顾Python编程1.1 安装PythonA1.2 搭建开发环境B1.3 IO编程C1.4 进程和线程D1.5 网络编程E1.6 小结F1 回顾Python编程1.1 安装Python1.1.1 Windows上安装Python1.1.2 Ubuntu上的Python1 回顾Python编程1.2 搭建开发环境1.2.1 Eclipse+PyDev1.2.2 PyCharm1 回顾Python编程1.3 IO编程1.3.1 文件读写1.3.2 操作文件和目录1.3.3 序列化操作
2、1 回顾Python编程1.4 进程和线程1.4.1 多进程1.4.2 多线程1.4.3 协程1.4.4 分布式进程1 回顾Python编程1.5 网络编程1.5.1 TCP编程1.5.2 UDP编程2 Web前端基础2.2 HTTP标准022.1 W3C标准012.3 小结032 Web前端基础2.1 W3C标准2.1.1 HTML2.1.2 CSS2.1.3 JavaScript2.1.4 XPath2.1.5 JSON2 Web前端基础2.2 HTTP标准2.2.1 HTTP请求过程2.2.2 HTTP状态码含义2.2.3 HTTP头部信息2.2.4 Cookie状态管理2.2.5 HT
3、TP请求方式3 初识网络爬虫3.1.1 网络爬虫及其应用3.1.2 网络爬虫结构3.1 网络爬虫概述3.2.1 urllib2/urllib实现3.2.2 httplib/urllib实现3.2.3 更人性化的Requests3.2 HTTP请求的Python实现 3.3 小结4 HTML解析大法4.1 初识Firebug4.2 正则表达式4.3 强大的BeautifulSoup4.4 小结4 HTML解析大法4.1 初识Firebug4.1.1 安装Firebug4.1.2 强大的功能4 HTML解析大法4.2 正则表达式4.2.1 基本语法与使用4.2.2 Python与正则4 HTML解
4、析大法4.3 强大的BeautifulSoup4.3.1 安装BeautifulSoup4.3.2 BeautifulSoup的使用4.3.3 lxml的XPath解析5 数据存储(无数据库版)5.1 H T M L正 文 抽取015.1.1 存储为JSON5.1.2 存储为CSV5.2 多 媒 体文 件 抽取02 5.3 Email提醒03 5.4 小结04 基础篇6 实战项目:基础爬虫6.1 基础爬虫架构及运行流程016.2 URL管理器026.3 HTML下载器036.4 HTML解析器046.5 数据存储器056.6 爬虫调度器06基础篇6 实战项目:基础爬虫6.7 小结7 实战项目:
5、简单分布式爬虫 7.3.1 HTML下载器7.3.2 HTML解析器7.3.3 爬虫调度器7.2.1 URL管理器7.2.2 数据存储器7.2.3 控制调度器 027.2 控制节点047.4 小结7.1 简单分布式爬虫结构017.3 爬虫节点0302中级篇8 数据存储(数据库版)8.1 SQLite8.2 MySQL8.3 更适合爬虫的MongoDB8.4 小结DCAB8 数据存储(数据库版)8.1 SQLite8.1.1 安装SQLite8.1.2 SQL语法8.1.3 SQLite增删改查8.1.4 SQLite事务8.1.5 Python操作SQLite8 数据存储(数据库版)8.2 M
6、ySQL8.2.1 安装MySQL8.2.2 MySQL基础8.2.3 Python操作MySQL8 数据存储(数据库版)8.3 更适合爬虫的MongoDB8.3.1 安装MongoDB8.3.2 MongoDB基础8.3.3 Python操作MongoDB9 动态网站抓取9.6 小结9.5 动态爬虫2:爬取去哪网9.4 Selenium9.3 PhantomJS9.2 动态爬虫1:爬取影评信息9.1 Ajax和动态HTML9 动态网站抓取9.3 PhantomJS9.3.1 安装PhantomJS9.3.2 快速入门9.3.3 屏幕捕获9.3.4 网络监控9.3.5 页面自动化9.3.6 常
7、用模块和方法9 动态网站抓取9.4 Selenium9.4.1 安装Selenium9.4.2 快速入门9.4.3 元素选取9.4.4 页面操作9.4.5 等待10 Web端协议分析10.1 网页登录POST分析10.2 验证码问题10.3 www>m>wap10.4 小结10 Web端协议分析10.1 网页登录POST分析10.1.1 隐藏表单分析10.1.2 加密数据分析10 Web端协议分析10.2 验证码问题10.2.1 IP代理10.2.2 Cookie登录10.2.3 传统验证码识别10.2.4 人工打码10.2.5 滑动验证码11 终端协议分析11.1 PC客户端抓包
8、分析11.4 小结11.2 App抓包分析11.3 API爬虫:爬取mp3资源信息68%44%21%15%11.2.1 Wireshark简介11.2.2 酷我听书App端API实战分析11.1.1 HTTP Analyzer简介11.1.2 虾米音乐PC端API实战分析 12 初窥Scrapy爬虫框架DCBA12.1 Scrapy爬虫架构12.2 安装Scrapy12.3 创建cnblogs项目12.4 创建爬虫模块E12.5 选择器F12.6 命令行工具12 初窥Scrapy爬虫框架201712.7 定义Item01201812.8 翻页功能02201912.9 构建Item Pipeli
9、ne03202012.10 内置数据存储04202112.11 内置图片和文件下载方式05202212.12 启动爬虫0612 初窥Scrapy爬虫框架12.13 强化爬虫12.14 小结12 初窥Scrapy爬虫框架12.5 选择器12.5.1 Selector的用法12.5.2 HTML解析实现12 初窥Scrapy爬虫框架12.9 构建Item Pipeline12.9.1 定制Item Pipeline12.9.2 激活Item Pipeline12 初窥Scrapy爬虫框架12.13 强化爬虫12.13.1 调试方法12.13.2 异常12.13.3 控制运行状态13 深入Scrap
10、y爬虫框架0113.1 再看Spider0213.2 Item Loader0313.3 再看Item Pipeline0413.4 请求与响应0513.5 下载器中间件0613.6 Spider中间件13 深入Scrapy爬虫框架13.7 扩展13.8 突破反爬虫13.9 小结13 深入Scrapy爬虫框架13.2 Item Loader13.2.1 Item与Item Loader13.2.2 输入与输出处理器13.2.3 Item Loader Context13.2.4 重用和扩展Item Loader13.2.5 内置的处理器13 深入Scrapy爬虫框架13.4 请求与响应13.4
11、.1 Request对象13.4.2 Response对象13 深入Scrapy爬虫框架13.5 下载器中间件13.5.1 激活下载器中间件13.5.2 编写下载器中间件13 深入Scrapy爬虫框架13.6 Spider中间件13.6.1 激活Spider中间件13.6.2 编写Spider中间件13 深入Scrapy爬虫框架13.7 扩展13.7.1 配置扩展13.7.2 定制扩展13.7.3 内置扩展13 深入Scrapy爬虫框架13.8 突破反爬虫13.8.1 UserAgent池13.8.2 禁用Cookies13.8.3 设置下载延时与自动限速13.8.4 代理IP池13.8.5
12、Tor代理13.8.6 分布式下载器:Crawlera13.8.7 Google cache14 实战项目:Scrapy爬虫14.1 创建知乎爬虫14.2 定义Item14.3 创建爬虫模块14.4 Pipeline14.5 优化措施14.6 部署爬虫14 实战项目:Scrapy爬虫14.7 小结14 实战项目:Scrapy爬虫14.3 创建爬虫模块14.3.1 登录知乎14.3.2 解析功能14 实战项目:Scrapy爬虫14.6 部署爬虫14.6.1 Scrapyd14.6.2 Scrapyd-client03深入篇15 增量式爬虫 15.1 去重方案0115.2.1 BloomFilte
13、r原理15.2.2 Python实现BloomFilter1 5.2 B l o o m F i l t e r 算 法02 15.3 Scrapy和BloomFilter03 15.4 小结0416 分布式爬虫与Scrapy16.1.1 Redis简介16.1.2 Redis的安装和配置16.1.3 Redis数据类型与操作 16.2.1 Python操作Redis16.2.2 Scrapy集成Redis 0216.2 Python和Redis0416.4 小结16.1 Redis基础0116.3 MongoDB集群03深入篇17 实战项目:Scrapy分布式爬虫010317.1 创建云起书
14、院爬虫17.2 定义Item17.3 编写爬虫模块0204050617.4 Pipeline17.5 应对反爬虫机制17.6 去重优化深入篇17 实战项目:Scrapy分布式爬虫17.7 小结18 人性化PySpider爬虫框架18.1 PySpider与Scrapy18.2 安装PySpider18.3 创建豆瓣爬虫18.6 PySpider和PhantomJS18.5 Ajax和HTTP请求18.4 选择器18 人性化PySpider爬虫框架18.7 数据存储18.8 PySpider爬虫架构18.9 小结18 人性化PySpider爬虫框架18.4 选择器18.4.1 PyQuery的用法18.4.2 解析数据18 人性化PySpider爬虫框架18.5 Ajax和HTTP请求18.5.1 Ajax爬取18.5.2 HTTP请求实现18 人性化PySpider爬虫框架18.6 PySpider和PhantomJS18.6.1 使用PhantomJS18.6.2 运行JavaScript感谢聆听