目录
第1章 爬虫基础 1
1.1 认识爬虫 2
1.2 Python环境 4
1.3 Python语法 11
1.4 网页结构 62
1.5 HTTP协议 68
1.6 本章小结 84
1.7 实战练习 84
第2章 开始爬虫 85
2.1 urllib模块 86
2.2 requests模块 88
2.3 re模块 110
2.4 项目案例:爬百度贴吧 122
2.5 本章小结 128
2.6 实战练习 128
第3章 更多数据提取的方式 129
3.1 XPath和LXml 130
3.2 BeautifulSoup4 137
3.3 JsonPath 143
3.4 性能和选择 148
3.5 项目案例:爬腾讯招聘网 148
3.6 本章小结 154
3.7 实战练习 154
第4章 并发 155
4.1 100万个网页 156
4.2 进程 161
4.3 线程 181
4.4 锁 191
4.5 协程 202
4.6 线程、进程、协程对比 206
4.7 并发爬虫 207
4.8 本章小结 216
4.9 实战练习 216
第5章 数据存储 217
5.1 文件存储 218
5.2 关系型数据库存储 221
5.3 非关系型数据库存储 231
5.4 项目案例:爬豆瓣电影 266
5.5 本章小结 270
5.6 实战练习 270
第6章 Ajax数据爬取 271
6.1 Ajax的概念 272
6.2 实现Ajax 272
6.3 项目案例:爬斗鱼直播 282
6.4 本章小结 286
6.5 实战练习 286
第7章 动态渲染页面爬取 287
7.1 Selenium 288
7.2 项目案例:爬京东商品 306
7.3 本章小结 311
7.4 实战练习 312
第8章 图形验证码识别 313
8.1 使用pytesseract 314
8.2 使用打码平台 317
8.3 项目案例:识别验证码完成登录 323
8.4 本章小结 326
8.5 实战练习 326
第9章 模拟登录 327
9.1 Cookie 328
9.2 Session 330
9.3 Cookie池的搭建 332
9.4 项目案例:登录GitHub 335
9.5 本章小结 340
9.6 实战练习 340
第10章 代理IP的使用 341
10.1 代理IP 342
10.2 代理IP池 348
10.3 付费代理的使用 351
10.4 项目案例:使用代理IP爬微信公众号 358
10.5 本章小结 368
10.6 实战练习 368
第11章 Scrapy框架 369
11.1 认识Scrapy 370
11.2 编写Scrapy的第一个案例 373
11.3 Spider详情 384
11.4 操作数据 403
11.5 模拟登录 432
11.6 中间件 446
11.7 分布式 458
11.8 项目案例:爬新浪新闻 500
11.9 本章小结 510
11.10 实战练习 510
第12章 项目案例:爬校花网信息 511
12.1 分析网站 512
12.2 开始爬取 515
第13章 项目案例:爬北京地区短租房信息 523
13.1 分析网站 524
13.2 开始爬取 525
第14章 项目案例:爬简书专题信息 531
14.1 分析网站 532
14.2 开始爬取 535
第15章 项目案例:爬QQ音乐歌曲 539
15.1 分析网站 540
15.2 开始爬取 542
第16章 项目案例:爬百度翻译 545
16.1 分析网站 546
16.2 开始爬取 550
第17章 项目案例:爬百度地图API 555
17.1 分析网站 556
17.2 开始爬取 560
第18章 项目案例:爬360图片 571
18.1 分析网站 572
18.2 开始爬取 573
第19章 项目案例:爬当当网 577
19.1 分析网站 578
19.2 开始爬取 580
第20章 项目案例:爬唯品会 585
20.1 分析网站 586
20.2 开始爬取 589
第21章 项目案例:爬智联招聘 593
21.1 分析网站 594
21.2 开始爬取 597