1. 程式人生 > >Python爬蟲入門一之綜述

Python爬蟲入門一之綜述

復用 智能 實現 進一步 -a web 蜘蛛 urllib 機器

首先爬蟲是什麽? 網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在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解析器

Python爬蟲入門一之綜述