記得剛開始學習python時就以爲爬蟲特別神奇,特別叼,可是網上的中文資料大都侷限於爬取靜態的頁面,涉及到JavaScript的以及驗證碼的就不多了,【當時還並不習慣直接找外文資料】就這樣止步於設計其相關的爬蟲了,前兩週圖靈社區書籍推薦郵件來了本《python網絡數據採集》,英文名《web scraping with python》,以爲有意思就下了本英文版的PDF看完了,發現其不只講的很系統並且也完美的解決了當時我存在的問題,而我就在想,若是當時就可以讀取到這本書那是否是就很屌呢,是否是就可以少走不少彎路呢?我第一次認爲是這樣的,還略有點抱怨搜了那麼多python爬蟲的資料竟然沒有人推薦這麼好的東東,真是很差,然後我又想其實總的來講,這本書的牛逼之處在於把方方面面須要用到的知識都告訴你了,做者用多年的經驗舉重若輕地全面的透露了所需,因此你就以爲知足了,可是面對新技術的出現,並不可以只依靠別的大神來告訴你方方面所須要的東西,如何可以本身成爲那種起頭的研究透的人才是最重要的,想到此又怪本身當初爲什麼就沒能本身去搞定這些呢,而不該該是埋怨別人沒有告訴你?最後昨晚在看一本書時看到的一些東西以爲頗有道理:新手每每面對二階不勝任的狀況(second-order incompetence):不知道本身不知道多少,因此首先須要發揮R&D精神:Rip off and Duplicate 【偷師學藝】,然後需記住,不管是對你本身或對他人,一種規格並不是到處適用,正如你從模型中看到的,你的需求取決於你所處的技能水平,隨着時間推移,你的我的學習和成長所須要的東西會改變。這麼看來也就釋然了。python
我將《scraping with python》中每一章節最有用的東西的提取了出來並作了一些補充,github地址git
各章內容提要:github
第一章:最簡單的用urllib.request中的urlopen配合BeautifulSoup提取某頁面的HTMLweb
第二章:如何用BeautifulSoup定位到想要的內容,如何配合正着表達式使用,如何獲取標籤中的屬性sql
第三章:實際演示了經過一個頁面中的link連續爬取,涉及到了防止爬取重複等問題api
第四章:使用網站既有的API來獲取數據服務器
第五章:保存數據的問題,保存URL仍是下載下來?保存到Mysql,Email等等網絡
第六章:若是不是要爬取HTML而是讀取服務器的如TXT,PDF文件應該如何弄python爬蟲
第七章:數據清理(如替換連續空格,替換連續空行,去掉非英文內容),以及第三方工具介紹工具
第八章:關於天然語言處理中的n-gram ananysis
第九章:提交表單,使用COOKIE,使用SEESION
第十章:使用selenium以及PhantomJS搞定Javascript
第十一章:驗證碼的識別
第十二章:防止被服務器認定爲機器人的措施小結