這次教程使用的python版本爲2.7!!!html
在剛上大學之時,老是在網上看到什麼爬蟲,由於當時還在學習c++,沒有時機學習python,更沒有去學習爬蟲了,而趁着此次工程實訓學習了基本的python的使用,因而有提起了學習爬蟲的興致,也寫下了這個系列的博客,以記錄本身的積累python
下面進入正題:c++
爬蟲是什麼?正則表達式
網絡爬蟲(又被稱爲網頁蜘蛛,網絡機器人,在FOAF社區中間,更常常的稱爲網頁追逐者),是一種按照必定的規則,自動的抓取萬維網信息的程序或者腳本。shell
在學習爬蟲時須要用到那些知識呢?後端
1.Python基礎知識學習緩存
這個是在網上學習時常常用到的資源:cookie
a)廖雪峯Python教程網絡
b)Python官方文檔session
2.關於urllib和urllib2庫的使用
網上有教程,以後的博客也會有我本身的學習介紹,不過最佳的學習應該就是到官方文檔中學習了。
3.正則表達式
因爲我也仍是初學,也只是瞭解一點,如今還不能給出很好的學習經驗,不過多用用搜索引擎,應該是可以 學的很快的
4.爬蟲框架Scrapy
在爬蟲的基本知識已經徹底熟練以後,就能夠嘗試去使用框架完成更好的東西。我在學習過程當中學習的是Scrapy框架,官方文檔的介紹是這樣的:
TML, XML源數據 選擇及提取 的內置支持 提供了一系列在spider之間共享的可複用的過濾器(即 Item Loaders),對智能處理爬取數據提供了內置支持。 經過 feed導出 提供了多格式(JSON、CSV、XML),多存儲後端(FTP、S三、本地文件系統)的內置支持 提供了media pipeline,能夠 自動下載 爬取到的數據中的圖片(或者其餘資源)。 高擴展性。您能夠經過使用 signals ,設計好的API(中間件, extensions, pipelines)來定製實現您的功能。 內置的中間件及擴展爲下列功能提供了支持: cookies and session 處理 HTTP 壓縮 HTTP 認證 HTTP 緩存 user-agent模擬 robots.txt 爬取深度限制 針對非英語語系中不標準或者錯誤的編碼聲明, 提供了自動檢測以及健壯的編碼支持。 支持根據模板生成爬蟲。在加速爬蟲建立的同時,保持在大型項目中的代碼更爲一致。詳細內容請參閱 genspider 命令。 針對多爬蟲下性能評估、失敗檢測,提供了可擴展的 狀態收集工具 。 提供 交互式shell終端 , 爲您測試XPath表達式,編寫和調試爬蟲提供了極大的方便 提供 System service, 簡化在生產環境的部署及運行 內置 Web service, 使您能夠監視及控制您的機器 內置 Telnet終端 ,經過在Scrapy進程中鉤入Python終端,使您能夠查看而且調試爬蟲 Logging 爲您在爬取過程當中捕捉錯誤提供了方便 支持 Sitemaps 爬取 具備緩存的DNS解析器 |
參考博客:Python爬蟲入門一之綜述