介紹了如何利用Python 3開發(fā)網(wǎng)絡爬蟲,書中首先介紹了環(huán)境配置和基礎知識,然后討論了urllib、requests、正則表達式、Beautiful Soup、XPath、pyquery、數(shù)據(jù)存儲、Ajax數(shù)據(jù)爬取等內容,接著通過多個案例介紹了不同場景下如何實現(xiàn)數(shù)據(jù)爬取,后介紹了pyspider框架、Scrapy框架和分布式爬蟲。
適合Python程序員閱讀。
gitbook提交問題反饋
https://legacy.gitbook.com/book/germey/python3webspider/details
試看
https://germey.gitbooks.io/python3webspider/content/
《Python 3網(wǎng)絡爬蟲開發(fā)實戰(zhàn)》PDF,606頁,帶目錄和書簽,文字可以復制粘貼;配套源代碼;
下載:
一共分為15章。
第1章介紹了本書所涉及的所有環(huán)境的配置詳細流程,兼顧Windows、Linux、Mac三大平臺。本章不用逐節(jié)閱讀,需要的時候查閱即可。
第2章介紹了學習爬蟲之前需要了解的基礎知識,如HTTP、爬蟲、代理的基本原理、網(wǎng)頁基本結構等內容,對爬蟲沒有任何了解的讀者建議好好了解這一章的知識。
第3章介紹了最基本的爬蟲操作,一般學習爬蟲都是從這一步學起的。這一章介紹了最基本的兩個請求庫(urllib和requests)和正則表達式的基本用法。學會了這一章,就可以掌握最基本的爬蟲技術了。
第4章介紹了頁解析庫的基本用法,包括Beautiful Soup、XPath、pyquery的基本使用方法,它們可以使得信息的提取更加方便、快捷,是爬蟲必備利器。
第5章介紹了數(shù)據(jù)存儲的常見形式及存儲操作,包括TXT、JSON、CSV各種文件的存儲,以及關系型數(shù)據(jù)庫MySQL和非關系型數(shù)據(jù)庫MongoDB、Redis存儲的基本存儲操作。學會了這些內容,我們可以靈活方便地保存爬取下來的數(shù)據(jù)。
第6章介紹了Ajax數(shù)據(jù)爬取的過程,一些網(wǎng)頁的數(shù)據(jù)可能是通過Ajax請求API接口的方式加載的,用常規(guī)方法無法爬取,本章介紹了使用Ajax進行數(shù)據(jù)爬取的方法。
第7章介紹了動態(tài)渲染頁面的爬取,現(xiàn)在越來越多的網(wǎng)站內容是經(jīng)過JavaScript渲染得到的,而原始HTML文本可能不包含任何有效內容,而且渲染過程可能涉及某些JavaScript加密算法,可以使用Selenium、Splash等工具來實現(xiàn)模擬瀏覽器進行數(shù)據(jù)爬取的方法。
第8章介紹了驗證碼的相關處理方法。驗證碼是網(wǎng)站反爬蟲的重要措施,我們可以通過本章了解到各類驗證碼的應對方案,包括圖形驗證碼、極驗驗證碼、點觸驗證碼、微博宮格驗證碼的識別。
第9章介紹了代理的使用方法,限制IP的訪問也是網(wǎng)站反爬蟲的重要措施。另外,我們也可以使用代理來偽裝爬蟲的真實IP,使用代理可以有效解決這個問題。通過本章,我們了解到代理的使用方法,還學習了代理池的維護方法,以及ADSL撥號代理的使用方法。
第10章介紹了模擬登錄爬取的方法,某些網(wǎng)站需要登錄才可以看到需要的內容,這時就需要用爬蟲模擬登錄網(wǎng)站再進行爬取了。本章介紹了最基本的模擬登錄方法以及維護一個Cookies池的方法。
第11章介紹了App的爬取方法,包括基本的Charles、mitmproxy抓包軟件的使用。此外,還介紹了mitmdump對接Python腳本進行實時抓取的方法,以及使用Appium完全模擬手機App的操作進行爬取的方法。
第12章介紹了pyspider爬蟲框架及用法,該框架簡潔易用、功能強大,可以節(jié)省大量開發(fā)爬蟲的時間。本章結合案例介紹了使用該框架進行爬蟲開發(fā)的方法。
第13章介紹了Scrapy爬蟲框架及用法。Scrapy是目前使用最廣泛的爬蟲框架,本章介紹了它的基本架構、原理及各個組件的使用方法,另外還介紹了Scrapy通用化配置、對接Docker的一些方法。
第14章介紹了分布式爬蟲的基本原理及實現(xiàn)方法。為了提高爬取效率,分布式爬蟲是必不可少的,本章介紹了使用Scrapy和Redis實現(xiàn)分布式爬蟲的方法。
第15章介紹了分布式爬蟲的部署及管理方法。方便快速地完成爬蟲的分布式部署,可以節(jié)省開發(fā)者大量的時間。本章結合Scrapy、Scrapyd、Docker、Gerapy等工具介紹了分布式爬蟲部署和管理的實現(xiàn)。
學習過程中,也陸續(xù)整理一些其他網(wǎng)絡爬蟲PDF代碼學習資料:
不積跬步,無以至千里。不斷的學習,學習...........