Python网络爬虫开发实战

本书介绍了如何利用Python3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib、requests、正则表达式、BeautifulSoup、XPath、pyquery、数据存储、Ajax数据爬取等内容,接着通过多个案例介绍了不同场景下如何实现数据爬取,*后介绍了pyspider框架、Scrapy框架和分布式爬虫。本书适合Python程序员阅读
作者简介
崔庆才,北京航空航天大学硕士,静觅博客(https:cuiqingcai.com)博主,爬虫博文访问量已过百万,喜欢钻研,热爱生活,乐于分享。欢迎关注个人微信公众号“进击的Coder”。
目  录
第1章开发环境配置1
1.1Python3的安装1
1.1.1相关链接1
1.1.2Windows下的安装1
1.1.3Linux下的安装6
1.1.4Mac下的安装8
1.2请求库的安装10
1.2.1requests的安装10
1.2.2Selenium的安装11
1.2.3ChromeDriver的安装12
1.2.4GeckoDriver的安装15
1.2.5PhantomJS的安装17
1.2.6aiohttp的安装18
1.3解析库的安装19
1.3.1lxml的安装19
1.3.2BeautifulSoup的安装21
1.3.3pyquery的安装22
1.3.4tesserocr的安装22
1.4数据库的安装26
1.4.1MySQL的安装27
1.4.2MongoDB安装29
1.4.3Redis的安装36
1.5存储库的安装39
1.5.1PyMySQL的安装39
1.5.2PyMongo的安装39
1.5.3redis-py的安装40
1.5.4RedisDump的安装40
1.6Web库的安装41
1.6.1Flask的安装41
1.6.2Tornado的安装42
1.7App爬取相关库的安装43
1.7.1Charles的安装44
1.7.2mitmproxy的安装50
1.7.3Appium的安装55
1.8爬虫框架的安装59
1.8.1pyspider的安装59
1.8.2Scrapy的安装61
1.8.3Scrapy-Splash的安装65
1.8.4Scrapy-Redis的安装66
1.9部署相关库的安装67
1.9.1Docker的安装67
1.9.2Scrapyd的安装71
1.9.3Scrapyd-Client的安装74
1.9.4ScrapydAPI的安装75
1.9.5Scrapyrt的安装75
1.9.6Gerapy的安装76
第2章爬虫基础77
2.1HTTP基本原理77
2.1.1URI和URL77
2.1.2超文本78
2.1.3HTTP和HTTPS78
2.1.4HTTP请求过程80
2.1.5请求82
2.1.6响应84
2.2网页基础87
2.2.1网页的组成87
2.2.2网页的结构88
2.2.3节点树及节点间的关系90
2.2.4选择器91
2.3爬虫的基本原理93
2.3.1爬虫概述93
2.3.2能抓怎样的数据94
2.3.3JavaScript渲染页面94
2.4会话和Cookies95
2.4.1静态网页和动态网页95
2.4.2无状态HTTP96
2.4.3常见误区98
2.4.4参考资料99
2.5代理的基本原理99
2.5.1基本原理99
2.5.2代理的作用99
2.5.3爬虫代理100
2.5.4代理分类100
2.5.5常见代理设置101
2.5.6参考来源101
第3章基本库的使用102
3.1使用urllib102
3.1.1发送请求102
3.1.2处理异常112
3.1.3解析链接114
3.1.4分析Robots协议119
3.2使用requests122
3.2.1基本用法122
3.2.2高级用法130
3.3正则表达式139
3.4抓取猫眼电影排行150
第4章解析库的使用158
4.1使用XPath158
4.2使用BeautifulSoup168
4.3使用pyquery184
第5章数据存储197
5.1文件存储197
5.1.1TXT文本存储197
5.1.2JSON文件存储199
5.1.3CSV文件存储203
5.2关系型数据库存储207
5.3非关系型数据库存储213
5.3.1MongoDB存储214
5.3.2Redis存储221
第6章Ajax数据爬取232
6.1什么是Ajax232
6.2Ajax分析方法234
6.3Ajax结果提取238
6.4分析Ajax爬取今日头条街拍美图242
第7章动态渲染页面爬取249
7.1Selenium249
7.2Splash262
7.3Splash负载均衡配置286
7.4使用Selenium爬取淘宝商品289
第8章验证码的识别298
8.1图形验证码的识别298
8.1.1本节目标299
8.1.2准备工作299
8.1.3获取验证码299
8.1.4识别测试299
8.1.5验证码处理299
8.1.6本节代码301
8.1.7结语301
8.2极验滑动验证码的识别301
8.3点触验证码的识别311
8.4微博宫格验证码的识别318
第9章代理的使用326
9.1代理的设置326
9.2代理池的维护333
9.3付费代理的使用347
9.4ADSL拨号代理351
9.5使用代理爬取微信公众号文章364
第10章模拟登录379
10.1模拟登录并爬取GitHub379
10.2Cookies池的搭建385
第11章App的爬取398
11.1Charles的使用398
11.2mitmproxy的使用405
11.3mitmdump爬取“得到”App电子书
信息417
11.4Appium的基本使用423
11.5Appium爬取微信朋友圈433
11.6Appiummitmdump爬取京东商品437
第12章pyspider框架的使用443
12.1pyspider框架介绍443
12.2pyspider的基本使用445
12.3pyspider用法详解459
第13章Scrapy框架的使用468
13.1Scrapy框架介绍468
13.2Scrapy入门470
13.3Selector的用法480
13.4Spider的用法486
13.5DownloaderMiddleware的用法487
13.6SpiderMiddleware的用法494
13.7ItemPipeline的用法496
13.8Scrapy对接Selenium506
13.9Scrapy对接Splash511
13.10Scrapy通用爬虫516
13.11Scrapyrt的使用533
13.12Scrapy对接Docker536
13.13Scrapy爬取新浪微博541
第14章分布式爬虫555
14.1分布式爬虫原理555
14.2Scrapy-Redis源码解析558
14.3Scrapy分布式实现564
14.4BloomFilter的对接569
第15章分布式爬虫的部署577
15.1Scrapyd分布式部署577
15.2Scrapyd-Client的使用582
15.3Scrapyd对接Docker583
15.4Scrapyd批量部署586
15.5Gerapy分布式管理590



#现在前往

精选留言

Python,网络,爬虫,开发
sample
2020-07-04
写留言
签到
投稿
QQ咨询
返回顶部