Python 網站爬蟲(Spider)開發與項目實戰 [PDF 電子書/原始碼]
Python 網站爬蟲(Spider)開發與項目實戰 [PDF 電子書/原始碼]
GITHUB: https://github.com/jash-git/Jash-good-idea-20211201-001/tree/main/Python%20%E7%B6%B2%E7%AB%99%E7%88%AC%E8%9F%B2(Spider)%E9%96%8B%E7%99%BC%E8%88%87%E9%A0%85%E7%9B%AE%E5%AF%A6%E6%88%B0
目錄:
基礎篇
第1章回顧Python編程2
1.1安裝Python 2
1.1.1 Windows上安裝Python 2
1.1.2 Ubuntu上的Python 3
1.2搭建開發環境4
1.2.1 Eclipse+PyDev 4
1.2.2 PyCharm 10
1.3 IO編程11
1.3.1文件/檔案 讀寫11
1.3.2操作文件和目錄14
1.3.3序列化操作15
1.4進程和線程16
1.4.1多進程16
1.4.2多線程22
1.4.3協程25
1.4.4分佈式進程27
1.5網絡編程32
1.5.1 TCP編程33
1.5.2 UDP編程35
1.6小結36
第2章Web前端基礎37
2.1 W3C標準37
2.1.1 HTML 37
2.1.2 CSS 47
2.1.351
2.1.4 XPath 56
2.1.5 JSON 61
2.2 HTTP標準61
2.2.1 HTTP請求過程62
2.2.2 HTTP狀態碼含義62
2.2.3 HTTP頭部信息63
2.2.4 Cookie狀態管理66
2.2.5 HTTP請求方式66
2.3小結68
第3章初識網絡爬蟲69
3.1網絡爬蟲概述69
3.1.1網絡爬蟲及其應用69
3.1.2網絡爬蟲結構71
3.2 HTTP請求的Python實現72
3.2.1 urllib2/urllib實現72
3.2.2 httplib/urllib實現76
3.2.3更人性化的Requests 77
3.3小結82
第4章HTML解析大法83
4.1初識Firebug 83
4 .1.1安裝Firebug 84
4.1.2強大的功能84
4.2正則表達式95
4.2.1基本語法與使用96
4.2.2 Python與正則102
4.3強大的BeautifulSoup 108
4.3.1安裝BeautifulSoup 108
4.3.2 BeautifulSoup的使用109
4.3.3 lxml的XPath解析124
4.4小結126
第5章數據存儲(無數據庫版) 127
5.1 HTML正文抽取127
5.1.1存儲為JSON 127
5.1.2存儲為CSV 132
5.2多媒體文件抽取136
5.3 Email提醒137
5.4小結138
第6章實戰項目:基礎爬蟲139
6.1基礎爬蟲架構及運行流程140
6.2 URL管理器141
6.3 HTML下載器142
6.4 HTML解析器143
6.5數據存儲器145
6.6爬蟲調度器146
6.7小結147
第7章實戰項目:簡單分佈式爬蟲148
7.1簡單分佈式爬蟲結構148
7.2控制節點149
7.2.1 URL管理器149
7.2.2數據存儲器151
7.2.3控制調度器153
7.3爬蟲節點155
7.3.1 HTML下載器155
7.3.2 HTML解析器156
7.3.3爬蟲調度器157
7.4小結159
中級篇
第8章數據存儲(數據庫版) 162
8.1 SQLite 162
8.1.1安裝SQLite 162
8.1.2 SQL語法163
8.1.3 SQLite增刪改查168
8.1.4 SQLite事務170
8.1.5 Python操作SQLite 171
8.2 MySQL 174
8.2.1安裝MySQL 174
8.2.2 MySQL基礎177
8.2.3 Python操作MySQL 181
8.3更適合爬蟲的MongoDB 183
8.3.1安裝MongoDB 184
8.3.2 MongoDB基礎187
8.3.3 Python操作MongoDB 194
8.4小結196
第9章動態網站抓取197
9.1 Ajax和動態HTML 197
9.2動態爬蟲1:爬取影評信息198
9.3 PhantomJS 207
9.3.1安裝PhantomJS 207
9.3.2快速入門208
9.3.3屏幕捕獲211
9.3.4網絡監控213
9.3.5頁面自動化214
9.3.6常用模塊和方法215
9.4 Selenium 218
9.4.1安裝Selenium 219
9.4.2快速入門220
9.4.3元素選取221
9.4.4頁面操作222
9.4.5等待225
9.5動態爬蟲2:爬取去哪網227
9.6小結230
第10章Web端協議分析231
10.1網頁登錄POST分析231
10.1.1隱藏表單分析231
10.1.2加密數據分析234
10.2驗證碼問題246
10.2.1 IP代理246
10.2.2 Cookie登錄249
10.2.3傳統驗證碼識別250
10.2.4人工打碼251
10.2 .5滑動 驗證碼252
10.3 www>m>wap 252
10.4小結254
第11章終端協議分析255
11.1 PC客戶端抓包分析255
11.1.1 HTTP Analyzer簡介255
11.1.2蝦米音樂PC端API實戰分析257
11.2 App抓包分析259
11.2.1 Wireshark簡介259
11.2.2酷我聽書App端API實戰分析266
11.3 API爬蟲:爬取mp3資源信息268
11.4小結272
第12章初窺Scrapy爬蟲框架273
12.1 Scrapy爬蟲架構273
12.2安裝Scrapy 275
12.3創建cnblogs項目276
12.4創建爬蟲模塊277
12.5選擇器278
12.5.1 Selector的用法278
12.5.2 HTML解析實現280
12.6命令行工具282
12.7定義Item 284
12.8翻頁功能286
12.9構建Item Pipeline 287
12.9 .1定制Item Pipeline 287
12.9.2激活Item Pipeline 288
12.10內置數據存儲288
12.11內置圖片和文件下載方式289
12.12啟動爬蟲294
12.13強化爬蟲297
12.13.1調試方法297
12.13.2異常299
12.13.3控制運行狀態300
12.14小結301
第13章深入Scrapy爬蟲框架302
13.1再看Spider 302
13.2 Item Loader 308
13.2.1 Item與I tem Loader 308
13.2.2輸入與輸出處理器309
13.2.3 Item Loader Context 310
13.2.4重用和擴展Item Loader 311
13.2.5內置的處理器312
13.3再看Item Pipeline 314
13.4請求與響應315
13.4.1 Request對象315
13.4.2 Response對象318
13.5下載器中間件320
13.5.1激活下載器中間件320
13.5.2編寫下載器中間件321
13.6 Spider中間件324
13.6.1激活Spider中間件324
13.6.2編寫Spider中間件325
13.7擴展327
13.7.1配置擴展327
13.7.2定制擴展328
13.7.3內置擴展332
13.8突破反爬蟲332
13.8.1 UserAgent池333
13.8.2禁用Cookies 333
13.8.3設置下載延時與自動限速333
13.8.4代理IP池334
13.8.5 Tor代理334
13.8.6分佈式下載器:Crawlera 337
13.8.7 Google cache 338
13.9小結339
第14章實戰項目:Scrapy爬蟲340
14.1創建知乎爬蟲340
14.2定義Item 342
14.3創建爬蟲模塊343
14.3.1登錄知乎343
14.3.2解析功能345
14.4 Pipeline 351
14.5優化措施352
14.6部署爬蟲353
14.6.1 Scrapyd 354
14.6.2 Scrapyd—client 356
14.7小結357
深入篇
第15章增量式爬蟲360
15.1去重方案360
15.2 BloomFilter算法361
15.2.1 BloomFilter原理361
15.2.2 Python實現BloomFilter 363
15.3 Scrapy和BloomFilter 364
15.4小結366
第16章分佈式爬蟲與Scrapy 367
16.1 Redis基礎367
16.1.1 Redis簡介367
16.1.2 Redis的安裝和配置368
16.1.3 Redis數據類型與操作372
16.2 Python和Redis 375
16.2.1 Python操作Redis 375
16.2.2 Scrapy集成Redis 384
16.3 MongoDB集群385
16.4小結390
第17章實戰項目:Scrapy分佈式爬蟲391
17.1創建雲起書院爬蟲391
17.2定義Item 393
17.3編寫爬蟲模塊394
17.4 Pipeline 395
17.5應對反爬蟲機制397
17.6去重優化400
17.7小結401
第18章人性化PySpider爬蟲框架403
18.1 PySpider與Scrapy 403
18.2安裝PySpider 404
18.3創建豆瓣爬蟲405
18.4選擇器409
18.4.1 PyQuery的用法409
18.4.2解析數據411
18.5 Ajax和HTTP請求415
18.5. 1 Ajax爬取415
18.5.2 HTTP請求實現417
18.6 PySpider和PhantomJS 417
18.6 .1使用PhantomJS 418
18.6.2運行420
18.7數據存儲420
18.8 PySpider爬蟲架構422
18.9小結423
完整圖文: