Scrapy网络爬虫实战

随着大数据分析、大数据计算火热兴起,越来越多的企业发布了数据分析岗位,而数据分析的基础则是海量的数据。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.1PYTHONSDK安装1
1.1.1在Windows上安装Python1
1.1.2在Ubuntu上安装Python2
1.2安装开发工具PYCHARM社区版3
1.3安装开发工具VISUALSTUDIO社区版5
第2章爬虫基础知识6
2.1爬虫原理6
2.1.1爬虫运行基本流程6
2.1.2HTTP请求过程8
2.2网页分析方法1:浏览器开发人员工具9
2.2.1Elements面板10
2.2.2Network面板11
2.3网页分析方法2:XPATH语法14
2.3.1XPath节点14
2.3.2XPath语法15
2.3.3XPath轴17
2.3.4XPath运算符19
2.4网页分析方法3:CSS选择语法19
2.4.1元素选择器20
2.4.2类选择器21
2.4.3ID选择器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.8Python中的正则表达式25
2.6爬虫常用类库1:PYTHON中的HTTP基本库URLLIB30
2.6.1发送请求30
2.6.2使用Cookie31
2.7爬虫常用类库2:更人性化的第三方库REQUESTS33
2.7.1发送请求34
2.7.2请求头35
2.7.3响应内容35
2.7.4响应状态码36
2.7.5cookies参数37
2.7.6重定向与请求历史37
2.7.7超时38
2.7.8设置代理38
2.7.9会话对象38
2.8爬虫常用类库3:元素提取利器BEAUTIFULSOUP39
2.8.1安装BeautifulSoup39
2.8.2安装解析器40
2.8.3BeautifulSoup使用方法41
2.8.4BeautifulSoup对象43
2.8.5遍历文档树47
2.8.6搜索文档树52
2.8.7BeautifulSoup中的CSS选择器57
2.9爬虫常用类库4:SELENIUM操纵浏览器58
2.9.1安装Selenium59
2.9.2Selenium的基本使用方法59
2.9.3SeleniumWebdriver的原理61
2.9.4Selenium中的元素定位方法61
2.9.5SeleniumWebdriver基本操作63
2.9.6Selenium实战:抓取拉钩网招聘信息64
2.10爬虫常用类库5:SCRAPY爬虫框架67
2.10.1安装Scrapy67
2.10.2Scrapy简介68
2.11基本爬虫实战:抓取CNBETA网站科技类文章69
2.11.1URL管理器70
2.11.2数据下载器71
2.11.3数据分析器72
2.11.4数据保存器74
2.11.5调度器75
第3章Scrapy命令行与Shell78
3.1SCRAPY命令行介绍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使用浏览器打开URL85
3.1.8使用parse测试爬虫85
3.2SCRAPYSHELL命令行85
3.2.1ScrapyShell的用法85
3.2.2实战:解析名人名言网站86
第4章Scrapy爬虫89
4.1编写爬虫89
4.1.1scrapy.Spider爬虫基本类89
4.1.2start_requests()方法90
4.1.3parse(response)方法91
4.1.4Selector选择器91
4.2通用爬虫94
4.2.1CrawlSpider94
4.2.2XMLFeedSpider95
4.2.3CSVFeedSpider96
4.2.4SitemapSpider97
4.3爬虫实战98
4.3.1实战1:CrawlSpider爬取名人名言98
4.3.2实战2:XMLFeedSpider爬取伯乐在线的RSS102
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数据库存储MYSQL121
5.4.1在Ubuntu上安装MySQL121
5.4.2在Windows上安装MySQL122
5.4.3MySQL基础125
5.4.4MySQL基本操作127
5.4.5Python操作MySQL129
5.5数据库存储MONGODB131
5.5.1在Ubuntu上安装MongoDB132
5.5.2在Windows上安装MongoDB132
5.5.3MongoDB基础135
5.5.4MongoDB基本操作137
5.5.5Python操作MongoDB143
5.6实战:爬取链家二手房信息并保存到数据库144
第6章Request与Response157
6.1REQUEST对象157
6.1.1Request类详解158
6.1.2Request回调函数与错误处理160
6.2RESPONSE162
6.2.1Response类详解162
6.2.2Response子类163
第7章Scrapy中间件165
7.1编写自定义SPIDER中间件165
7.1.1激活中间件165
7.1.2编写Spider中间件166
7.2SPIDER内置中间件168
7.2.1DepthMiddleware爬取深度中间件168
7.2.2HttpErrorMiddleware失败请求处理中间件168
7.2.3OffsiteMiddleware过滤请求中间件169
7.2.4RefererMiddleware参考位置中间件169
7.2.5UrlLengthMiddleware网址长度限制中间件170
7.3编写自定义下载器中间件170
7.3.1激活中间件170
7.3.2编写下载器中间件171
7.4下载器内置中间件173
7.4.1CookiesMiddleware173
7.4.2HttpProxyMiddleware174
7.5实战:为爬虫添加中间件174
第8章Scrapy配置与内置服务178
8.1SCRAPY配置简介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.2MailSender类187
8.4.3在settings.py中对Mail进行设置188
8.5实战:抓取猫眼电影TOP100榜单数据188
8.5.1分析页面元素189
8.5.2创建项目189
8.5.3编写items.py190
8.5.4编写管道pipelines.py190
8.5.5编写爬虫文件top100.py191
第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.1SCRAPYMONGODB实战:抓取并保存IT之家博客新闻205
10.1.1确定目标205
10.1.2创建项目206
10.1.3编写items.py文件207
10.1.4编写爬虫文件news.py207
10.1.5编写管道pipelines.py209
10.1.6编写settings.py210
10.1.7运行爬虫211
10.2用BENCHMARK进行本地环境评估212
10.3扩展爬虫214
10.3.1增大并发214
10.3.2关闭Cookie214
10.3.3关闭重试214
10.3.4减少下载超时时间215
10.3.5关闭重定向215
10.3.6AutoThrottle扩展215
第11章Scrapy项目实战:爬取某社区用户详情217
11.1项目分析217
11.1.1页面分析217
11.1.2抓取流程221
11.2创建爬虫221
11.2.1cookies收集器222
11.2.2Items类225
11.2.3Pipeline管道编写226
11.2.4Spider爬虫文件227
11.2.5Middlewars中间件编写235




#现在前往

精选留言

Scrapy,网络,爬虫,实战
sample
2020-08-13
写留言
签到
投稿
QQ咨询
返回顶部