此部分為隱藏內(nèi)容,請輸入驗(yàn)證碼后查看
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋
” ,回復(fù) “ 驗(yàn)證碼
” ,獲取驗(yàn)證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請?jiān)谙螺d后24小時內(nèi)刪除。如果喜歡,請購買正版!
一.資料圖片
二.資料簡介
本書介紹了如何利用Python 3開發(fā)網(wǎng)絡(luò)爬蟲,書中首先介紹了環(huán)境配置和基礎(chǔ)知識,然后討論了urllib、requests、正則表達(dá)式、Beautiful Soup、XPath、pyquery、數(shù)據(jù)存儲、Ajax數(shù)據(jù)爬取等內(nèi)容,接著通過多個案例介紹了不同場景下如何實(shí)現(xiàn)數(shù)據(jù)爬取,后介紹了pyspider框架、Scrapy框架和分布式爬蟲。
本書適合Python程序員閱讀。
三.作者簡介
崔慶才
北京航空航天大學(xué)碩士,靜覓博客(https://cuiqingcai.com/)博主,爬蟲博文訪問量已過百萬,喜歡鉆研,熱愛生活,樂于分享。歡迎關(guān)注個人微信公眾號“進(jìn)擊的Coder”。
四.資料目錄
第1章 開發(fā)環(huán)境配置 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 數(shù)據(jù)庫的安裝 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爬取相關(guān)庫的安裝 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 部署相關(guān)庫的安裝 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章 爬蟲基礎(chǔ) 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 響應(yīng) 84
2.2 網(wǎng)頁基礎(chǔ) 87
2.2.1 網(wǎng)頁的組成 87
2.2.2 網(wǎng)頁的結(jié)構(gòu) 88
2.2.3 節(jié)點(diǎn)樹及節(jié)點(diǎn)間的關(guān)系 90
2.2.4 選擇器 91
2.3 爬蟲的基本原理 93
2.3.1 爬蟲概述 93
2.3.2 能抓怎樣的數(shù)據(jù) 94
2.3.3 JavaScript渲染頁面 94
2.4 會話和Cookies 95
2.4.1 靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁 95
2.4.2 無狀態(tài)HTTP 96
2.4.3 常見誤區(qū) 98
2.5 代理的基本原理 99
2.5.1 基本原理 99
2.5.2 代理的作用 99
2.5.3 爬蟲代理 100
2.5.4 代理分類 100
2.5.5 常見代理設(shè)置 101
第3章 基本庫的使用 102
3.1 使用urllib 102
3.1.1 發(fā)送請求 102
3.1.2 處理異?! ?12
3.1.3 解析鏈接 114
3.1.4 分析Robots協(xié)議 119
3.2 使用requests 122
3.2.1 基本用法 122
3.2.2 高級用法 130
3.3 正則表達(dá)式 139
3.4 抓取貓眼電影排行 150
第4章 解析庫的使用 158
4.1 使用XPath 158
4.2 使用Beautiful Soup 168
4.3 使用pyquery 184
第5章 數(shù)據(jù)存儲 197
5.1 文件存儲 197
5.1.1 TXT文本存儲 197
5.1.2 JSON文件存儲 199
5.1.3 CSV文件存儲 203
5.2 關(guān)系型數(shù)據(jù)庫存儲 207
5.2.1 MySQL的存儲 207
5.3 非關(guān)系型數(shù)據(jù)庫存儲 213
5.3.1 MongoDB存儲 214
5.3.2 Redis存儲 221
第6章 Ajax數(shù)據(jù)爬取 232
6.1 什么是Ajax 232
6.2 Ajax分析方法 234
6.3 Ajax結(jié)果提取 238
6.4 分析Ajax爬取今日頭條街拍美圖 242
第7章 動態(tài)渲染頁面爬取 249
7.1 Selenium的使用 249
7.2 Splash的使用 262
7.3 Splash負(fù)載均衡配置 286
7.4 使用Selenium爬取淘寶商品 289
第8章 驗(yàn)證碼的識別 298
8.1 圖形驗(yàn)證碼的識別 298
8.2 極驗(yàn)滑動驗(yàn)證碼的識別 301
8.3 點(diǎn)觸驗(yàn)證碼的識別 311
8.4 微博宮格驗(yàn)證碼的識別 318
第9章 代理的使用 326
9.1 代理的設(shè)置 326
9.2 代理池的維護(hù) 333
9.3 付費(fèi)代理的使用 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分布式實(shí)現(xiàn) 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