1. 程式人生 > >Python 3網絡爬蟲開發實戰.pdf(崔慶才著)

Python 3網絡爬蟲開發實戰.pdf(崔慶才著)

god 百萬 mitmproxy 2.2.3 協議 filter 分布式部署 基本 適合

內容簡介 · · · · · ·

本書介紹了如何利用Python 3開發網絡爬蟲,書中首先介紹了環境配置和基礎知識,然後討論了urllib、requests、正則表達式、Beautiful Soup、XPath、pyquery、數據存儲、Ajax數據爬取等內容,接著通過多個案例介紹了不同場景下如何實現數據爬取,後介紹了pyspider框架、Scrapy框架和分布式爬蟲。

本書適合Python程序員閱讀。

作者簡介 · · · · · ·

崔慶才

北京航空航天大學碩士,靜覓博客(https://cuiqingcai.com/)博主,爬蟲博文訪問量已過百萬,喜歡鉆研,熱愛生活,樂於分享。歡迎關註個人微信公眾號“進擊的Coder”。

目錄 · · · · · ·

第1章 開發環境配置  1
1.1 Python 3的安裝  1
1.1.1 Windows下的安裝  1
1.1.2 Linux下的安裝  6
1.1.3 Mac下的安裝  8
1.2 請求庫的安裝  10
1.2.1 requests的安裝  10
1.2.2 Selenium的安裝  11
1.2.3 ChromeDriver的安裝  12
1.2.4 GeckoDriver的安裝  15
1.2.5 PhantomJS的安裝  17
1.2.6 aiohttp的安裝  18
1.3 解析庫的安裝  19
1.3.1 lxml的安裝  19
1.3.2 Beautiful Soup的安裝  21
1.3.3 pyquery的安裝  22
1.3.4 tesserocr的安裝  22
1.4 數據庫的安裝  26
1.4.1 MySQL的安裝  27
1.4.2 MongoDB的安裝  29
1.4.3 Redis的安裝  36
1.5 存儲庫的安裝  39
1.5.1 PyMySQL的安裝  39
1.5.2 PyMongo的安裝  39
1.5.3 redis-py的安裝  40
1.5.4 RedisDump的安裝  40
1.6 Web庫的安裝  41
1.6.1 Flask的安裝  41
1.6.2 Tornado的安裝  42
1.7 App爬取相關庫的安裝  43
1.7.1 Charles的安裝  44
1.7.2 mitmproxy的安裝  50
1.7.3 Appium的安裝  55
1.8 爬蟲框架的安裝  59
1.8.1 pyspider的安裝  59
1.8.2 Scrapy的安裝  61
1.8.3 Scrapy-Splash的安裝  65
1.8.4 Scrapy-Redis的安裝  66
1.9 部署相關庫的安裝  67
1.9.1 Docker的安裝  67
1.9.2 Scrapyd的安裝  71
1.9.3 Scrapyd-Client的安裝  74
1.9.4 Scrapyd API的安裝  75
1.9.5 Scrapyrt的安裝  75
1.9.6 Gerapy的安裝  76
第2章 爬蟲基礎  77
2.1 HTTP基本原理  77
2.1.1 URI和URL  77
2.1.2 超文本  78
2.1.3 HTTP和HTTPS  78
2.1.4 HTTP請求過程  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.3 JavaScript渲染頁面  94
2.4 會話和Cookies  95
2.4.1 靜態網頁和動態網頁  95
2.4.2 無狀態HTTP  96
2.4.3 常見誤區  98
2.5 代理的基本原理  99
2.5.1 基本原理  99
2.5.2 代理的作用  99
2.5.3 爬蟲代理  100
2.5.4 代理分類  100
2.5.5 常見代理設置  101
第3章 基本庫的使用  102
3.1 使用urllib  102
3.1.1 發送請求  102
3.1.2 處理異常  112
3.1.3 解析鏈接  114
3.1.4 分析Robots協議  119
3.2 使用requests  122
3.2.1 基本用法  122
3.2.2 高級用法  130
3.3 正則表達式  139
3.4 抓取貓眼電影排行  150
第4章 解析庫的使用  158
4.1 使用XPath  158
4.2 使用Beautiful Soup  168
4.3 使用pyquery  184
第5章 數據存儲  197
5.1 文件存儲  197
5.1.1 TXT文本存儲  197
5.1.2 JSON文件存儲  199
5.1.3 CSV文件存儲  203
5.2 關系型數據庫存儲  207
5.2.1 MySQL的存儲  207
5.3 非關系型數據庫存儲  213
5.3.1 MongoDB存儲  214
5.3.2 Redis存儲  221
第6章 Ajax數據爬取  232
6.1 什麽是Ajax  232
6.2 Ajax分析方法  234
6.3 Ajax結果提取  238
6.4 分析Ajax爬取今日頭條街拍美圖  242
第7章 動態渲染頁面爬取  249
7.1 Selenium的使用  249
7.2 Splash的使用  262
7.3 Splash負載均衡配置  286
7.4 使用Selenium爬取淘寶商品  289
第8章 驗證碼的識別  298
8.1 圖形驗證碼的識別  298
8.2 極驗滑動驗證碼的識別  301
8.3 點觸驗證碼的識別  311
8.4 微博宮格驗證碼的識別  318
第9章 代理的使用  326
9.1 代理的設置  326
9.2 代理池的維護  333
9.3 付費代理的使用  347
9.4 ADSL撥號代理  351
9.5 使用代理爬取微信公眾號文章  364
第10章 模擬登錄  379
10.1 模擬登錄並爬取GitHub  379
10.2 Cookies池的搭建  385
第11章 App的爬取  398
11.1 Charles的使用  398
11.2 mitmproxy的使用  405
11.3 mitmdump爬取“得到”App電子書
信息  417
11.4 Appium的基本使用  423
11.5 Appium爬取微信朋友圈  433
11.6 Appium+mitmdump爬取京東商品  437
第12章 pyspider框架的使用  443
12.1 pyspider框架介紹  443
12.2 pyspider的基本使用  445
12.3 pyspider用法詳解  459
第13章 Scrapy框架的使用  468
13.1 Scrapy框架介紹  468
13.2 Scrapy入門  470
13.3 Selector的用法  480
13.4 Spider的用法  486
13.5 Downloader Middleware的用法  487
13.6 Spider Middleware的用法  494
13.7 Item Pipeline的用法  496
13.8 Scrapy對接Selenium  506
13.9 Scrapy對接Splash  511
13.10 Scrapy通用爬蟲  516
13.11 Scrapyrt的使用  533
13.12 Scrapy對接Docker  536
13.13 Scrapy爬取新浪微博  541
第14章 分布式爬蟲  555
14.1 分布式爬蟲原理  555
14.2 Scrapy-Redis源碼解析  558
14.3 Scrapy分布式實現  564
14.4 Bloom Filter的對接  569
第15章 分布式爬蟲的部署  577
15.1 Scrapyd分布式部署  577
15.2 Scrapyd-Client的使用  582
15.3 Scrapyd對接Docker  583
15.4 Scrapyd批量部署  586
15.5 Gerapy分布式管理  590
· · · · · · (收起)

Python 3網絡爬蟲開發實戰.pdf(崔慶才著)