Python3 網絡爬蟲開發實戰 Python3网络爬虫开发实战

崔慶才

買這商品的人也買了...

商品描述

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

海報:

作者簡介

崔慶才

北京航空航天大學碩士,

靜覓博客(https://cuiqingcai.com/)博主,

爬蟲博文訪問量已過百萬,

喜歡鑽研,熱愛生活,樂於分享。

歡迎關注個人微信公眾號“進擊的Coder”。

目錄大綱

第1章開發環境配置1 
1.1 Python3的安裝1 
1.1.1相關鏈接1 
1.1.2 Windows下的安裝1 
1.1.3 Linux下的安裝6 
1.1.4 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 BeautifulSoup的安裝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 ScrapydAPI的安裝75 
1.9.5 Scrapyrt的安裝75 
1.9.6 Gerapy的安裝76 
第2章爬蟲基礎77 
2.1 HTTP基本原理77 
2.1.1 URI和URL77 
2.1.2超文本78 
2.1.3 HTTP和HTTPS78 
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會話和Cookies95 
2.4.1靜態網頁和動態網頁95 
2.4.2無狀態HTTP96 
2.4.3常見誤區98 
2.4.4參考資料99 
2.5代理的基本原理99 
2.5.1基本原理99 
2.5.2代理的作用99 
2.5.3爬蟲代理100 
2.5.4代理分類100 
2.5.5常見代理設置101 
2.5.6參考來源101 
第3章基本庫的使用102 
3.1使用urllib102 
3.1.1發送請求102 
3.1.2處理異常112 
3.1.3解析鏈接114 
3.1.4分析Robots協議119 
3.2使用requests122 
3.2.1基本用法122 
3.2.2高級用法130 
3.3正則表達式139 
3.4抓取貓眼電影排行150 
第4章解析庫的使用158
4.1使用XPath158 
4.2使用BeautifulSoup168 
4.3使用pyquery184 
第5章數據存儲197 
5.1文件存儲197 
5.1.1 TXT文本存儲197 
5.1.2 JSON文件存儲199 
5.1.3 CSV文件存儲203 
5.2關係型數據庫存儲207 
5.3非關係型數據庫存儲213 
5.3.1 MongoDB存儲214 
5.3.2 Redis存儲221 
第6章Ajax數據爬取232 
6.1什麼是Ajax232 
6.2 Ajax分析方法234 
6.3 Ajax結果提取238 
6.4分析Ajax爬取今日頭條街拍美圖242 
第7章動態渲染頁面爬取249 
7.1 Selenium249 
7.2 Splash262 
7.3 Splash負載均衡配置286 
7.4使用Selenium爬取淘寶商品289 
第8章驗證碼的識別298 
8.1圖形驗證碼的識別298 
8.1.1本節目標299 
8.1. 2準備工作299 
8.1.3獲取驗證碼299 
8.1.4識別測試299 
8.1.5驗證碼處理299 
8.1.6本節代碼301
8.1.7結語301 
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模擬登錄並爬取GitHub379 
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 DownloaderMiddleware的用法487 
13.6 SpiderMiddleware的用法494 
13.7 ItemPipeline的用法496 
13.8 Scrapy對接Selenium506 
13.9 Scrapy對接Splash511 
13.10 Scrapy通用爬蟲516 
13.11 Scrapyrt的使用533 
13.12 Scrapy對接Docker536 
13.13 Scrapy爬取新浪微博541 
第14章分佈式爬蟲555 
14.1分佈式爬蟲原理555 
14.2 Scrapy—Redis源碼解析558 
14.3 Scrapy分佈式實現564 
14.4 BloomFilter的對接569 
第15章分佈式爬蟲的部署577 
15.1 Scrapyd分佈式部署577 
15.2 Scrapyd—Client的使用582 
15.3 Scrapyd對接Docker583 
15.4 Scrapyd批量部署586 
15.5 Gerapy分佈式管理590