书籍详情
Scrapy网络爬虫实战
作者:东郭大猫 著
出版社:清华大学出版社
出版时间:2019-09-01
ISBN:9787302536208
定价:¥59.00
购买这本书可以去
内容简介
随着大数据分析、大数据计算火热兴起,越来越多的企业发布了数据分析岗位,而数据分析的基础则是海量的数据。Python中的Scrapy框架就是为了抓取数据而设计的。本书是一本Scrapy爬虫框架零基础起步的实战图书。 本书共分11章,第1~2章介绍Python环境的搭建、编辑器的使用、爬虫的一些基础知识(urllib、requests、Selenium、Xpath、CSS、正则表达式、BeautifulSoup库)等。第3~8章主要介绍Scrapy框架的原理与使用。第9~11章主要介绍Scrapy的优化,包括内置服务、组件优化等,最后通过一个完整的大型示例对全书的知识点做了应用总结。 本书入门门槛低、浅显易懂,适合所有Scrapy爬虫和数据分析行业的入门读者学习,也适合高等院校和培训学校作为爬虫入门教材和训练手册。
作者简介
东郭大猫,常年从事数据相关的工作,擅长用Python进行数据的爬取、分析和存储。使用Python超过5年,做过公司内部的数据爬取培训。
目录
目 录
第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 实战:抓取猫眼电影TOP100榜单数据 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
第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 实战:抓取猫眼电影TOP100榜单数据 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
猜您喜欢