1. 程式人生 > >怎樣入門python爬蟲?

怎樣入門python爬蟲?

mar 工作 怎麽 取數據 最快 存儲 最優 簡單的 nvi

“入門”是良好的動機,但是可能作用緩慢。如果你手裏或者腦子裏有一個項目,那麽實踐起來你會被目標驅動,而不會像學習模塊一樣慢慢學習。
另外如果說知識體系裏的每一個知識點是圖裏的點,依賴關系是邊的話,那麽這個圖一定不是一個有向無環圖。因為學習A的經驗可以幫助你學習B。因此,你不需要學習怎麽樣“入門”,因為這樣的“入門”點根本不存在!你需要學習的是怎麽樣做一個比較大的東西,在這個過程中,你會很快地學會需要學會的東西的。當然,你可以爭論說需要先懂python,不然怎麽學會python做爬蟲呢?但是事實上,你完全可以在做這個爬蟲的過程中學習ython :D
看到前面很多答案都講的“術”——用什麽軟件怎麽爬,那我就講講“道”和“術”吧——爬蟲怎麽工作以及怎麽在python實現。先長話短說summarize一下:
你需要學習
1.基本的爬蟲工作原理
2.基本的http抓取工具,scrapy
3.Bloom Filter: Bloom Filters by Example
4.如果需要大規模網頁抓取,你需要學習分布式爬蟲的概念。其實沒那麽玄乎,你只要學會怎樣維護一個所有集群機器能夠有效分享的分布式隊列就好。最簡單的實現是python-rq: https://github.com/nvie/rq
5.rq和Scrapy的結合:darkrho/scrapy-redis · GitHub
6.後續處理,網頁析取(grangier/python-goose · GitHub),存儲(Mongodb)
那麽源碼時代小編來總結一下:
從爬蟲基本要求來看:
1.抓取:抓取最基本就是拉網頁回來,所以第一步就是拉網頁回來,慢慢會發現各種問題待優化;
2.存儲:抓回來一般會用一定策略存下來,可以選擇存文件系統開始,然後以一定規則命名。
3.分析:對網頁進行文本分析,可以用認為最快最優的辦法,比如正則表達式;
4.展示:要是做了一堆事情,一點展示輸出都沒有,如何展現價值。
另外小編在這裏推薦一本書《用Python寫網絡爬蟲》,裏面主要講述的內容有:通過跟蹤鏈接來爬取網站;使用lxml從頁面中抽取數據;構建線程爬蟲來並行爬取頁面;將下載的內容進行緩存,以降低帶寬消耗;解析依賴於JavaScript的網站;與表單和會話進行交互;解決受保護頁面的驗證碼問題;對AJAX調用進行逆向工程;使用Scrapy創建高級爬蟲。
風裏雨裏,在源碼時代python爬蟲課程等你。

怎樣入門python爬蟲?