《实战Python网络爬虫》是清华大学出版社出版的一本图书,出版日期为2019.06.01。
基本信息
中文名
实战Python网络爬虫
定价
99
作者
黄永祥
ISBN
9787302524892
目录
1出版信息
2图书内容
3目录
折叠编辑本段出版信息
实战Python网络爬虫
作者:黄永祥
定价:99元
印次:1-1
ISBN:9787302524892
出版日期:2019.06.01
印刷日期:2019.04.26
折叠编辑本段图书内容
本书从原理到实践,循序渐进地讲述了使用Python开发网络爬虫的核心技术。全书从逻辑上可分为基础篇、实战篇和爬虫框架篇三部分。基础篇主要介绍了编写网络爬虫所需的基础知识,包括网站分析、数据抓取、数据清洗和数据入库。网站分析讲述如何使用Chrome和Fiddler抓包工具对网站做全面分析;数据抓取介绍了Python爬虫模块Urllib和Requests的基础知识;数据清洗主要介绍字符串操作、正则和BeautifulSoup的使用;数据入库讲述了MySQL和MongoDB的操作,通过ORM框架SQLAlchemy实现数据持久化,进行企业级开发。实战篇深入讲解了分布式爬虫、爬虫软件的开发、12306抢票程序和微博爬取等。框架篇主要讲述流行的爬虫框架Scrapy,并以Scrapy与Selenium、Splash、Redis结合的项目案例,让读者深层次了解Scrapy的使用。此外,本书还介绍了爬虫的上线部署、如何自己动手开发一款爬虫框架、反爬虫技术的解决方案等内容。
本书使用Python3.X编写,技术先进,项目丰富,适合欲从事爬虫工程师和数据分析师岗位的初学者、大学生和研究生使用,也很适合有一些网络爬虫编写经验,但希望更加全面、深入理解Python爬虫的开发人员使用。
折叠编辑本段目录
第1章 理解网络爬虫 1
1.1 爬虫的定义 1
1.2 爬虫的类型 2
1.3 爬虫的原理 2
1.4 爬虫的搜索策略 4
1.5 爬虫的合法性与开发流程 5
1.6 本章小结 6
第2章 爬虫开发基础 7
2.1 HTTP与HTTPS 7
2.2 请求头 9
2.3 Cookies 10
2.4 HTML 11
2.5 JavaScript 12
2.6 JSON 14
2.7 Ajax 14
2.8 本章小结 15
第3章 Chrome分析网站 16
3.1 Chrome开发工具 16
3.2 Elements标签 17
3.3 Network标签 18
3.4 分析QQ音乐 20
3.5 本章小结 23
第4章 Fiddler抓包 24
4.1 Fiddler介绍 24
4.2 Fiddler安装配置 24
4.3 Fiddler抓取手机应用 26
4.4 Toolbar工具栏 29
4.5 Web Session列表 30
4.6 View选项视图 32
4.7 Quickexec命令行 33
4.8 本章小结 34
第5章 爬虫库Urllib 35
5.1 Urllib简介 35
5.2 发送请求 36
5.3 复杂的请求 37
5.4 代理IP 38
5.5 使用Cookies 39
5.6 证书验证 40
5.7 数据处理 41
5.8 本章小结 42
第6章 爬虫库Requests 43...
第6章爬虫库Requests 43
6.1Requests简介及安装 43
6.2请求方式 44
6.3复杂的请求方式 45
6.4下载与上传 47
6.5本章小结 49
第7章Requests-Cache爬虫缓存 50
7.1简介及安装 50
7.2在Requests中使用缓存 50
7.3缓存的存储机制 53
7.4本章小结 54
第8章爬虫库Requests-HTML 55
8.1简介及安装 55
8.2请求方式 56
8.3数据清洗 56
8.4Ajax动态数据抓取 59
8.5本章小结 61
第9章网页操控与数据爬取 62
9.1了解Selenium 62
9.2安装Selenium 63
9.3网页元素定位 66
9.4网页元素操控 70
9.5常用功能 73
9.6实战:百度自动答题 80
9.7本章小结 85
第10章手机App数据爬取 86
10.1Appium简介及原理 86
10.2搭建开发环境 87
10.3连接Android系统 92
10.4App的元素定位 97
10.5App的元素操控 99
10.6实战:淘宝商品采集 102
10.7本章小结 107
第11章Splash、Mitmproxy与Aiohttp 109
11.1Splash动态数据抓取 109
11.1.1简介及安装 109
11.1.2使用Splash的API接口 112
11.2Mitmproxy抓包 116
11.2.1简介及安装 116
11.2.2用Mitmdump抓取爱奇艺视频 116
11.3Aiohttp高并发抓取 119
11.3.1简介及使用 119
11.3.2Aiohttp异步爬取小说排行榜 123
11.4本章小结 126
第12章验证码识别 128
12.1验证码的类型 128
12.2OCR技术 129
12.3第三方平台 131
12.4本章小结 134
第13章数据清洗 136
13.1字符串操作 136
13.1.1截取 136
13.1.2替换 137
13.1.3查找 137
13.1.4分割 138
13.2正则表达式 139
13.2.1正则语法 140
13.2.2正则处理函数 141
13.3BeautifulSoup数据清洗 144
13.3.1BeautifulSoup介绍与安装 144
13.3.2BeautifulSoup的使用示例 146
13.4本章小结 149
第14章文档数据存储 150
14.1CSV数据的写入和读取 150
14.2Excel数据的写入和读取 151
14.3Word数据的写入和读取 154
14.4本章小结 156
第15章ORM框架 158
15.1SQLAlchemy介绍与安装 158
15.1.1操作数据库的方法 158
15.1.2SQLAlchemy框架介绍 158
15.1.3SQLAlchemy的安装 159
15.2连接数据库 160
15.3创建数据表 162
15.4添加数据 164
15.5更新数据 165
15.6查询数据 166
15.7本章小结 168
第16章MongoDB数据库操作 169
16.1MongoDB介绍 169
16.2MogoDB的安装及使用 170
16.2.1MongoDB的安装与配置 170
16.2.2MongoDB可视化工具 172
16.2.3PyMongo的安装 173
16.3连接MongoDB数据库 173
16.4添加文档 174
16.5更新文档 175
16.6查询文档 176
16.7本章小结 178
第17章实战:爬取51Job招聘信息 180
17.1项目分析 180
17.2获取城市编号 180
17.3获取招聘职位总页数 182
17.4爬取每个职位信息 184
17.5数据存储 188
17.6爬虫配置文件 190
17.7本章小结 191
第18章实战:分布式爬虫--QQ音乐 193
18.1项目分析 193
18.2歌曲下载 194
18.3歌手的歌曲信息 198
18.4分类歌手列表 201
18.5全站歌手列表 203
18.6数据存储 204
18.7分布式爬虫 205
18.7.1分布式概念 205
18.7.2并发库concurrent.futures 206
18.7.3分布式策略 207
18.8本章小结 209
第19章实战:12306抢票爬虫 211
19.1项目分析 211
19.2验证码验证 211
19.3用户登录与验证 214
19.4查询车次 219
19.5预订车票 225
19.6提交订单 227
19.7生成订单 233
19.8本章小结 236
第20章实战:玩转微博 244
20.1项目分析 244
20.2用户登录 244
20.3用户登录(带验证码) 253
20.4关键词搜索热门微博 259
20.5发布微博 264
20.6关注用户 268
20.7点赞和转发评论 271
20.8本章小结 277
第21章实战:微博爬虫软件开发 278
21.1GUI库及PyQt5的安装与配置 278
21.1.1GUI库 278
21.1.2PyQt5安装及环境搭建 279
21.2项目分析 281
21.3软件主界面 284
21.4相关服务界面 288
21.5微博采集界面 292
21.6微博发布界面 297
21.7微博爬虫功能 308
21.8本章小结 315
第22章Scrapy爬虫开发 317
22.1认识与安装Scrapy 317
22.1.1常见爬虫框架介绍 317
22.1.2Scrapy的运行机制 318
22.1.3安装Scrapy 319
22.2Scrapy爬虫开发示例 320
22.3Spider的编写 326
22.4Items的编写 329
22.5ItemPipeline的编写 330
22.5.1用MongoDB实现数据入库 330
22.5.2用SQLAlchemy实现数据入库 332
22.6Selectors的编写 333
22.7文件下载 336
22.8本章小结 339
第23章Scrapy扩展开发 341
23.1剖析Scrapy中间件 341
23.1.1SpiderMiddleware中间件 342
23.1.2DownloaderMiddleware中间件 344
23.2自定义中间件 347
23.2.1设置代理IP服务 347
23.2.2动态设置请求头 350
23.2.3设置随机Cookies 353
23.3实战:Scrapy+Selenium爬取豆瓣电影评论 355
23.3.1网站分析 355
23.3.2项目设计与实现 357
23.3.3定义Selenium中间件 359
23.3.4开发Spider程序 360
23.4实战:Scrapy+Splash爬取B站动漫信息 362
23.4.1Scrapy_Splash实现原理 363
23.4.2网站分析 363
23.4.3项目设计与实现 365
23.4.4开发Spider程序 367
23.5实战:Scrapy+Redis分布式爬取猫眼排行榜 369
23.5.1Scrapy_Redis实现原理 369
23.5.2安装Redis数据库 371
23.5.3网站分析 372
23.5.4项目设计与实现 373
23.5.5开发Spider程序 375
23.6分布式爬虫与增量式爬虫 377
23.6.1基于管道实现增量式 378
23.6.2基于中间件实现增量式 381
23.7本章小结 384
第24章实战:爬取链家楼盘信息 386
24.1项目分析 386
24.2创建项目 389
24.3项目配置 389
24.4定义存储字段 391
24.5定义管道类 392
24.6编写爬虫规则 396
24.7本章小结 400
第25章实战:QQ音乐全站爬取 402
25.1项目分析 402
25.2项目创建与配置 403
25.2.1项目创建 403
25.2.2项目配置 403
25.3定义存储字段和管道类 405
25.3.1定义存储字段 405
25.3.2定义管道类 405
25.4编写爬虫规则 408
25.5本章小结 413
第26章爬虫的上线部署 415
26.1非框架式爬虫部署 415
26.1.1创建可执行程序 415
26.1.2制定任务计划程序 417
26.1.3创建服务程序 421
26.2框架式爬虫部署 424
26.2.1Scrapyd部署爬虫服务 424
26.2.2Gerapy爬虫管理框架 429
26.3本章小结 434
第27章反爬虫的解决方案 435
27.1常见的反爬虫技术 435
27.2基于验证码的反爬虫 436
27.2.1验证码出现的情况 437
27.2.2解决方案 438
27.3基于请求参数的反爬虫 439
27.3.1请求参数的数据来源 439
27.3.2请求参数的查找 440
27.4基于请求头的反爬虫 441
27.5基于Cookies的反爬虫 443
27.6本章小结 447
第28章自己动手开发爬虫框架 449
28.1框架设计说明 449
28.2异步爬取方式 450
28.3数据清洗机制 455
28.4数据存储机制 457
28.5实战:用自制框架爬取豆瓣电影 463
28.6本章小结 468