大家好哈,最近部落客在學習Python,學習期間也遇到一些問題,獲得了一些經驗,在此將自己的學習系統地整理下來,如果大家有興趣學習爬蟲的話,可以將這些文章作為參考,也歡迎大家一共分享學習經驗。
Python版本:2.7,Python 3請另尋其他博文。
首先爬蟲是什麼?
網路爬蟲(又被稱為網頁蜘蛛,網路機器人,在FOAF社群中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動的抓取萬維網資訊的程序或腳本。
根據我的經驗,要學習Python爬蟲,我們要學習的共有以下幾點:
Python基礎
Python中urllib和urllib2函式庫的用法
Python正規表示式
Python爬蟲框架Scrapy
#Python爬蟲更高級的功能
1.Python基礎學習
#首先,我們要用Python寫爬蟲,肯定要了解Python的基礎吧,萬丈高樓平地起,不能忘啦那地基,哈哈,那麼我就分享一下自己曾經看過的一些Python教程,小伙伴們可以作為參考。
1) 慕課網Python教程
曾經有一些基礎的語法是在慕課網上看的,上面附有一些練習,學習完之後可以作為練習,感覺效果還是蠻不錯的,不過稍微遺憾的是內容基本上都是最基礎的,入門開始的話,就這個吧
學習網址:慕課網Python教程
2) 廖雪峰Python教程
後來,我發現了廖老師的Python教程,講的那是非常通俗易懂哪,感覺也是非常不錯,大家如果想進一步了解Python就看一下這個吧。
學習網址:廖雪峰Python教程
3) 簡明Python教程
還有一個我看過的,簡明Python教程,感覺講的也不錯
學習網址:簡明Python教程
4) 汪海的實驗室
這是我的本科實驗室學長,入門的時候參考的他的文章,自己重新做了總結,後來這些系列文章又在他的基礎上增加了一些內容。
學習網址:汪海的實驗室
2.Python urllib和urllib2 函式庫的用法
urllib和urllib2函式庫是學習Python爬蟲最基本的函式庫,利用這個庫我們可以得到網頁的內容,並對內容用正規表示式提取分析,得到我們想要的結果。這個在學習過程中我會跟大家分享的。
3.Python 正規表示式
Python正規表示式是一種用來匹配字串的強而有力的武器。它的設計思想是用一種描述性的語言來為字串定義一個規則,凡是符合規則的字串,我們就認為它「匹配」了,否則,該字串就是不合法的。這個後面的博文會分享的。
4.爬蟲框架Scrapy
如果你是Python高手,基本的爬蟲知識都已經掌握了,那麼就尋覓一下Python框架吧,我選擇的框架是Scrapy框架。這個框架有什麼強大的功能呢?以下是它的官方介紹:
HTML, XML來源資料選擇及提取的內建支援
提供了一系列在spider之間共享的可重複使用的過濾器(即Item Loaders),對智慧處理爬取資料提供了內建支援。
透過feed匯出提供了多格式(JSON、CSV、XML),多重儲存後端(FTP、S3、本機檔案系統)的內建支援
提供了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解析器
以上是爬蟲是什麼?對爬蟲的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!