第1章 Python开发环境的搭建 1
1.1 PYTHON SDK安装 1
1.1.1 在Windows上安装Python 1
1.1.2 在Ubuntu上安装Python 2
1.2 安装开发工具PYCHARM社区版 3
1.3 安装开发工具VISUAL STUDIO社区版 5
第2章 爬虫基础知识 6
2.1 爬虫原理 6
2.1.1 爬虫运行基本流程 6
2.1.2 HTTP请求过程 8
2.2 网页分析方法1:浏览器开发人员工具 9
2.2.1 Elements面板 10
2.2.2 Network面板 11
2.3 网页分析方法2:XPATH语法 14
2.3.1 XPath节点 14
2.3.2 XPath语法 15
2.3.3 XPath轴 17
2.3.4 XPath运算符 19
2.4 网页分析方法3:CSS选择语法 19
2.4.1 元素选择器 20
2.4.2 类选择器 21
2.4.3 ID选择器 21
2.4.4 属性选择器 21
2.4.5 后代选择器 21
2.4.6 子元素选择器 22
2.4.7 相邻兄弟选择器 22
2.5 网页分析方法4:正则表达式 22
2.5.1 提取字符 23
2.5.2 预定义字符集 23
2.5.3 数量限定 23
2.5.4 分支匹配 24
2.5.5 分组 24
2.5.6 零宽断言 24
2.5.7 贪婪模式与非贪婪模式 25
2.5.8 Python中的正则表达式 25
2.6 爬虫常用类库1:PYTHON中的HTTP基本库URLLIB 30
2.6.1 发送请求 30
2.6.2 使用Cookie 31
2.7 爬虫常用类库2:更人性化的第三方库REQUESTS 33
2.7.1 发送请求 34
2.7.2 请求头 35
2.7.3 响应内容 35
2.7.4 响应状态码 36
2.7.5 cookies参数 37
2.7.6 重定向与请求历史 37
2.7.7 超时 38
2.7.8 设置代理 38
2.7.9 会话对象 38
2.8 爬虫常用类库3:元素提取利器BEAUTIFULSOUP 39
2.8.1 安装BeautifulSoup 39
2.8.2 安装解析器 40
2.8.3 BeautifulSoup使用方法 41
2.8.4 BeautifulSoup对象 43
2.8.5 遍历文档树 47
2.8.6 搜索文档树 52
2.8.7 BeautifulSoup中的CSS选择器 57
2.9 爬虫常用类库4:SELENIUM操纵浏览器 58
2.9.1 安装Selenium 59
2.9.2 Selenium的基本使用方法 59
2.9.3 Selenium Webdriver的原理 61
2.9.4 Selenium中的元素定位方法 61
2.9.5 Selenium Webdriver基本操作 63
2.9.6 Selenium实战:抓取拉钩网招聘信息 64
2.10 爬虫常用类库5:SCRAPY爬虫框架 67
2.10.1 安装Scrapy 67
2.10.2 Scrapy简介 68
2.11 基本爬虫实战:抓取CNBETA网站科技类文章 69
2.11.1 URL管理器 70
2.11.2 数据下载器 71
2.11.3 数据分析器 72
2.11.4 数据保存器 74
2.11.5 调度器 75
第3章 Scrapy命令行与Shell 78
3.1 SCRAPY命令行介绍 78
3.1.1 使用startproject创建项目 80
3.1.2 使用genspider创建爬虫 81
3.1.3 使用crawl启动爬虫 82
3.1.4 使用list查看爬虫 82
3.1.5 使用fetch获取数据 83
3.1.6 使用runspider运行爬虫 84
3.1.7 通过view使用浏览器打开URL 85
3.1.8 使用parse测试爬虫 85
3.2 SCRAPY SHELL命令行 85
3.2.1 Scrapy Shell的用法 85
3.2.2 实战:解析名人名言网站 86
第4章 Scrapy爬虫 89
4.1 编写爬虫 89
4.1.1 scrapy.Spider爬虫基本类 89
4.1.2 start_requests()方法 90
4.1.3 parse(response)方法 91
4.1.4 Selector选择器 91
4.2 通用爬虫 94
4.2.1 CrawlSpider 94
4.2.2 XMLFeedSpider 95
4.2.3 CSVFeedSpider 96
4.2.4 SitemapSpider 97
4.3 爬虫实战 98
4.3.1 实战1:CrawlSpider爬取名人名言 98
4.3.2 实战2:XMLFeedSpider爬取伯乐在线的RSS 102
4.3.3 实战3:CSVFeedSpider提取csv文件数据 104
4.3.4 实战4:SitemapSpider爬取博客园文章 106
第5章 Scrapy管道 109
5.1 管道简介 109
5.2 编写自定义管道 110
5.3 下载文件和图片 113
5.3.1 文件管道 114
5.3.2 图片管道 117
5.4 数据库存储MYSQL 121
5.4.1 在Ubuntu上安装MySQL 121
5.4.2 在Windows上安装MySQL 122
5.4.3 MySQL基础 125
5.4.4 MySQL基本操作 127
5.4.5 Python操作MySQL 129
5.5 数据库存储MONGODB 131
5.5.1 在Ubuntu上安装MongoDB 132
5.5.2 在Windows上安装MongoDB 132
5.5.3 MongoDB基础 135
5.5.4 MongoDB基本操作 137
5.5.5 Python操作MongoDB 143
5.6 实战:爬取链家二手房信息并保存到数据库 144
第6章 Request与Response 157
6.1 REQUEST对象 157
6.1.1 Request类详解 158
6.1.2 Request回调函数与错误处理 160
6.2 RESPONSE 162
6.2.1 Response类详解 162
6.2.2 Response子类 163
第7章 Scrapy中间件 165
7.1 编写自定义SPIDER中间件 165
7.1.1 激活中间件 165
7.1.2 编写Spider中间件 166
7.2 SPIDER内置中间件 168
7.2.1 DepthMiddleware爬取深度中间件 168
7.2.2 HttpErrorMiddleware失败请求处理中间件 168
7.2.3 OffsiteMiddleware过滤请求中间件 169
7.2.4 RefererMiddleware参考位置中间件 169
7.2.5 UrlLengthMiddleware网址长度限制中间件 170
7.3 编写自定义下载器中间件 170
7.3.1 激活中间件 170
7.3.2 编写下载器中间件 171
7.4 下载器内置中间件 173
7.4.1 CookiesMiddleware 173
7.4.2 HttpProxyMiddleware 174
7.5 实战:为爬虫添加中间件 174
第8章 Scrapy配置与内置服务 178
8.1 SCRAPY配置简介 178
8.1.1 命令行选项(优先级*) 178
8.1.2 每个爬虫内配置 179
8.1.3 项目设置模块 179
8.1.4 默认的命令行配置 181
8.1.5 默认全局配置(优先级*) 182
8.2 日志 182
8.3 数据收集 184
8.4 发送邮件 187
8.4.1 简单例子 187
8.4.2 MailSender类 187
8.4.3 在settings.py中对Mail进行设置 188
8.5 实战:抓取猫眼电影*00榜单数据 188
8.5.1 分析页面元素 189
8.5.2 创建项目 189
8.5.3 编写items.py 190
8.5.4 编写管道pipelines.py 190
8.5.5 编写爬虫文件top100.py 191
第9章 模拟登录 194
9.1 模拟提交表单 194
9.2 用COOKIE模拟登录状态 197
9.3 项目实战 198
9.3.1 实战1:使用FormRequest模拟登录豆瓣 198
9.3.2 实战2:使用Cookie登录 202
第10章 Scrapy爬虫优化 205
10.1 SCRAPY MONGODB实战:抓取并保存IT之家博客新闻 205
10.1.1 确定目标 205
10.1.2 创建项目 206
10.1.3 编写items.py文件 207
10.1.4 编写爬虫文件news.py 207
10.1.5 编写管道pipelines.py 209
10.1.6 编写settings.py 210
10.1.7 运行爬虫 211
10.2 用BENCHMARK进行本地环境评估 212
10.3 扩展爬虫 214
10.3.1 增大并发 214
10.3.2 关闭Cookie 214
10.3.3 关闭重试 214
10.3.4 减少下载超时时间 215
10.3.5 关闭重定向 215
10.3.6 AutoThrottle扩展 215
第11章 Scrapy项目实战:爬取某社区用户详情 217
11.1 项目分析 217
11.1.1 页面分析 217
11.1.2 抓取流程 221
11.2 创建爬虫 221
11.2.1 cookies收集器 222
11.2.2 Items类 225
11.2.3 Pipeline管道编写 226
11.2.4 Spider爬虫文件 227
11.2.5 Middlewars中间件编写 235
· · · · · · (
收起)
0 有用 无明 2020-06-11 14:21:44
request变量???
1 有用 Net Garden 2022-03-09 21:40:16
内容实在,无论如何让我学会了scrapy,而且也便宜,十几块钱买的二手书,非常值了。不得不吐槽一下,现在骗钱的爬虫书太多了
1 有用 HXHL 2020-12-07 08:49:31
还不错,介绍了scapy框架,虽然有点像抄文档,但是比那些抄都抄3不像的好
1 有用 Net Garden 2022-03-09 21:40:16
内容实在,无论如何让我学会了scrapy,而且也便宜,十几块钱买的二手书,非常值了。不得不吐槽一下,现在骗钱的爬虫书太多了
1 有用 HXHL 2020-12-07 08:49:31
还不错,介绍了scapy框架,虽然有点像抄文档,但是比那些抄都抄3不像的好
0 有用 无明 2020-06-11 14:21:44
request变量???