學(xué)習(xí)路徑是我自己練手python爬蟲項(xiàng)目時(shí)提煉和精選的。事先聲明:學(xué)習(xí)好比看醫(yī)生,每個(gè)人目的和問(wèn)題不一樣,再者知識(shí)結(jié)構(gòu)也不一樣,這書單只適合我自己,給我自己用的,可能會(huì)走彎路,怕誤導(dǎo)大家,大家不要看啊。
學(xué)習(xí)資源請(qǐng)單:
1)官方Python 最新英文版 ,點(diǎn)左邊鏈接
Python 3.5中文版 ,點(diǎn)左邊鏈接
2)語(yǔ)法入門書:
《Python編程 從入門到實(shí)踐》,這門講的很好,淺顯易懂,還包括可視化+Django+heroku的內(nèi)容。大家不要看其他大牛推薦的什么簡(jiǎn)明教程什么笨方法學(xué)python,這類的書知識(shí)不成體系,還是看專業(yè)人寫的書吧,血的教訓(xùn),浪費(fèi)好多時(shí)間。推薦書時(shí),能不能自己讀過(guò)后再推薦,推薦錯(cuò)了害不少人吶親。
入門的還有《python語(yǔ)言及其應(yīng)用》,這本語(yǔ)法很全面,想省時(shí)間的看前本吧。或者《python快速上手-讓繁瑣工作自動(dòng)化》也很不錯(cuò),比前面兩本書的多很多案例,而且案例可以讓自己的效率有提高。
3)練手項(xiàng)目:
A github上的開(kāi)源Demo:
如Awesome Python 資源整理集合,內(nèi)容包括:Web框架、網(wǎng)絡(luò)爬蟲、網(wǎng)絡(luò)內(nèi)容提取、模板引擎、數(shù)據(jù)庫(kù)、數(shù)據(jù)可視化、圖片處理、文本處理、自然語(yǔ)言處理、機(jī)器學(xué)習(xí)、日志、代碼分析等
B 視頻相關(guān)的開(kāi)源Demo:慕客網(wǎng)上有,關(guān)于爬蟲框架原理解釋的很到位。
C 社區(qū)上的開(kāi)源Demo;deeplearning.net/demos。
D: 網(wǎng)友分享的Demo:http://cuiqingcai.com/1052.html。
4) 社區(qū):google+的數(shù)據(jù)和機(jī)器人小組,Matrix 67,deeplearning.net,集搜客GooSeeker,Stackoverflow,Segmentfault,Codecademy,九章算法,leetcode刷面試題,ruby-china.,CSDN,Quera,stack exchange中tag為機(jī)器學(xué)習(xí)的部分,生物學(xué)社區(qū)AGCTU(關(guān)于統(tǒng)計(jì)和圖表部分)。
5)考慮輸出:比如翻譯外文的譯言
6)中高級(jí)篇:檢索,采集,分析,挖掘和機(jī)器學(xué)習(xí)相關(guān)書籍
數(shù)據(jù)采集:
關(guān)鍵詞:有l(wèi)xml,beautiful soup,正則表達(dá)式,反爬蟲(user-agent,time.sleep,cookie,代理ip,selenium操縱瀏覽器,驗(yàn)證碼識(shí)別等都需要了解?。?,反編譯,利用抓包技術(shù)提取,利用嵌入式瀏覽器,利用IDA軟件逆向分析技術(shù),移動(dòng)APP漏洞及安全相關(guān)等。
動(dòng)態(tài)頁(yè)面提取方案有:

上面截圖來(lái)自這篇文章《基于IDA逆向分析的AppStore應(yīng)用爬取》 ,這篇文章我要好好看。
反編譯爬蟲的例子:見(jiàn)這篇文章《用xposed框架抓取微信朋友圈數(shù)據(jù)》
書:
有《用python寫網(wǎng)絡(luò)爬蟲》(詳細(xì),但是python2版本)
《自己動(dòng)手寫網(wǎng)絡(luò)爬蟲》羅剛(里面的思想可以借鑒,但是是用java實(shí)現(xiàn)的)
《Python網(wǎng)絡(luò)數(shù)據(jù)采集》(初學(xué)者可以了解爬蟲需要用到哪些知識(shí),挺不錯(cuò)的)
《利用PYTHON進(jìn)行數(shù)據(jù)分析》:看書名就知道寫什么了。
《圖解HTTP》或者《HTTP權(quán)威指南》:了解http協(xié)議的,如果有基礎(chǔ),就不要看了,前書通俗易懂適合初學(xué)者,后者全面相對(duì)不夠通俗適合有計(jì)算機(jī)基礎(chǔ)的看。
《精通正則表達(dá)式》(正則表達(dá)式),scrapy源碼分析,《Python源碼剖析》。
《Lucene 3.0 原理與代碼分析》,LuceneInAction(第2版),Lucene+nutch搜索引擎開(kāi)發(fā),開(kāi)發(fā)自己的搜索引擎——Lucene+Heritrix(第2版),其他的見(jiàn)這篇文章“Lucene和Solr 學(xué)習(xí)路徑”
搜索引擎Demo:悟空搜索
《搜索引擎中網(wǎng)絡(luò)爬蟲的研究與實(shí)現(xiàn)》段兵營(yíng)
《深入研究web主題爬蟲的關(guān)鍵性原理》王芳
《軟件逆向工程技術(shù)研究及應(yīng)用》
《基于IDA-PRO》軟件逆向分析方法? 秦清文
《支持ajax技術(shù)的主題網(wǎng)絡(luò)爬蟲系統(tǒng)研究與實(shí)現(xiàn)》
數(shù)據(jù)分析:
關(guān)鍵詞有:自然語(yǔ)言處理(如中文分詞和詞性標(biāo)注),命名實(shí)體識(shí)別,分詞工具
《機(jī)器學(xué)習(xí):實(shí)用案例解析》 /《貝葉斯思維:統(tǒng)計(jì)建模的Python學(xué)習(xí)法》/《集體智慧編程》/《推薦系統(tǒng)實(shí)踐》/《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》/《數(shù)據(jù)挖掘?qū)д?完整版)》/? 《終極算法》 /《推薦系統(tǒng)》/? 《Python機(jī)器學(xué)習(xí):預(yù)測(cè)分析核心算法》? /《統(tǒng)計(jì)自然語(yǔ)言處理(第2版)》
,《機(jī)器學(xué)習(xí):實(shí)用案例解析》,《社交網(wǎng)站的數(shù)據(jù)挖掘與分析》,《Python數(shù)據(jù)科學(xué)指南》,《Python數(shù)據(jù)分析實(shí)戰(zhàn)》,《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》有案例,
數(shù)據(jù)庫(kù)大家可以看高性能MySQL (豆瓣),《Head first Python》,《數(shù)據(jù)可視化實(shí)戰(zhàn)——使用D3設(shè)計(jì)交互式圖表》,《集體智慧編程》,《機(jī)器學(xué)習(xí)系統(tǒng)設(shè)計(jì)》,《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》,《推薦系統(tǒng)》,《統(tǒng)計(jì)學(xué)習(xí)方法》,《看穿一切數(shù)字的統(tǒng)計(jì)學(xué)》,《數(shù)據(jù)可視化之美》,《圖表說(shuō)話》,參加Kaggle競(jìng)賽等
數(shù)據(jù)存儲(chǔ)和可視化:
信息鏈接:URI,sql
存儲(chǔ):json,如PostgreSql,excel,圖數(shù)據(jù)庫(kù)Neo4j/OientDB,RDF數(shù)據(jù)庫(kù)Startdog。
可視化:tableau,D3,matlib,pysql。
開(kāi)發(fā)環(huán)境安裝
開(kāi)發(fā)環(huán)境安裝流程見(jiàn): http://www.itdecent.cn/p/d99f6fd8b209
安裝開(kāi)發(fā)環(huán)境步驟(win環(huán)境+64位+python最新3.6版本+mongodb):
1、安裝python 3.6版本
查看是否安裝成功:?jiǎn)?dòng)python解釋器(快捷鍵win+r),在cmd里輸入python,沒(méi)報(bào)錯(cuò)就表示安裝成功了。 命令行窗口退出python解釋器,需要輸入uexit()
2、用Python自帶的IDE練手熟悉Python基礎(chǔ)語(yǔ)法:
記住常用快捷鍵:1)ctrl+n 自動(dòng)創(chuàng)建一個(gè)編輯文件,編輯好后,再F5執(zhí)行就可以了;或者在python IDE(GUI)的窗口中的File->New Window創(chuàng)建。2)增加多行縮進(jìn): Ctrl + ] (右中括號(hào))
3)減少多行縮進(jìn):Ctrl + [ (左中括號(hào)) ; 4)添加多行注釋:Alt + 3 ; 5)取消多行注釋:Alt + 4
6)更多可以查看 IDLE菜單欄的Options -> Configure IDLE… -> Keys選項(xiàng)卡
如果想自定義快捷鍵,則選中要自定義的命令,然后點(diǎn)擊Get New Keys for Selection
3、安裝pip自動(dòng)安裝包,省時(shí)間
安裝pip 流程
4、安裝request請(qǐng)求包
官方地址
5、安裝Scrapy爬蟲框架
安裝時(shí)發(fā)現(xiàn)building twisted.test.raizer extention報(bào)錯(cuò),網(wǎng)上找了下,發(fā)現(xiàn)有網(wǎng)友已經(jīng)提供這個(gè)問(wèn)題的解決方案了,網(wǎng)址:twisted安裝注意事項(xiàng) 和下載twisted,安裝步驟 ,以及這個(gè)。
驗(yàn)證Scrapy是否成功,python shell下輸入 import scrapy 不報(bào)錯(cuò)就說(shuō)明安裝成功。
如果python安裝python庫(kù)的時(shí)候經(jīng)常報(bào)錯(cuò),可以看這篇文章有解決方案
Scrapy入門教程Demo:見(jiàn)這里
6、安裝pyopenssl加密包
7、安裝bootstrap前端開(kāi)發(fā)的開(kāi)源工具包
8、安裝builtwith包,用于查看網(wǎng)站用了哪些技術(shù)。
python安裝builtwith會(huì)遇到問(wèn)題,不過(guò)可以看這位網(wǎng)友的解決方案
9、安裝pycharm的開(kāi)發(fā)環(huán)境:步驟見(jiàn)這個(gè)。
pycharm激活:用這個(gè)lanyus.
注意:配置調(diào)試scrapy爬蟲項(xiàng)目,需要點(diǎn)擊工具欄run--》edit configuration 。
10、安裝虛擬環(huán)境virtualenv包
python -m venv 創(chuàng)建虛擬環(huán)境,虛擬環(huán)境\Scripts\activate (不包含source )來(lái)激活這個(gè)虛擬環(huán)境
django-admin.py startproject webSite因?yàn)榘姹締?wèn)題有時(shí)候會(huì)報(bào)錯(cuò),執(zhí)行django-admin startproject webSite就行。
11、安裝Django和數(shù)據(jù)庫(kù):
安裝Django的流程一定要看官方的:中文版見(jiàn)這里 ,如果不按照官方的,你會(huì)碰到“no module named django”,但是其實(shí)已經(jīng)安裝了,是不是百思不得其解~~所以一定按照官方來(lái)??!
另外,Django 案例官方也有了~~。
數(shù)據(jù)庫(kù)我選擇mongodb,網(wǎng)友選擇哪個(gè)數(shù)據(jù)庫(kù)可以參考這個(gè)答案 。
python版的sqlite用法見(jiàn):這里
12.部署app到服務(wù)器heroku 或者openshift:http://xpleaf.blog.51cto.com/9315560/1739940/ , http://www.tuicool.com/articles/Q3y2Qb , https://www.v2ex.com/t/40405
等會(huì)再更新