scapy安装and简介
在《開源python網(wǎng)絡(luò)爬蟲框架Scrapy介紹》一文中介紹了Scrapy這個(gè)Python爬蟲框架。Scrapy是一個(gè)快速,高層次的屏幕抓取和web抓取框架,用于抓取web站點(diǎn)并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)。Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動化測試。Scrapy吸引人的地方在于它是一個(gè)框架,任何人都可以根據(jù)需求方便的修改。它也提供了多種類型爬蟲的基類,如BaseSpider、sitemap爬蟲等,最新版本又提供了web2.0爬蟲的支持。
下面介紹Scrapy在windows下的安裝:
首先下載windows版:Scrapy-0.15.0.2842.win32.exe,直接安裝。
安裝之后不能直接運(yùn)行scrapy提供的test,會提示錯誤,因?yàn)閟crapy基于其他一些python庫,需要把這些庫都安裝才行。
Twisted:Twisted Matrix 是一種用來進(jìn)行網(wǎng)絡(luò)服務(wù)和應(yīng)用程序編程的純 Python 框架,雖然 Twisted Matrix 中有大量松散耦合的模塊化組件,但該框架的中心概念還是非阻塞異步服務(wù)器這一思想。Twisted的安裝也非常簡單,在這里直接下載windows平臺下的相應(yīng)版本即可:http://pypi.python.org/packages/2.7/T/Twisted/,
zope.interface:在這里下載http://pypi.python.org/pypi/zope.interface/3.8.0#downloads。zope.interface沒有提供windows平臺下的exe版,只提供了windows平臺下的egg包。
ez_setup:下載http://pypi.python.org/pypi/ez_setup,安裝。將egg文件放置在{python安裝目錄}\Scripts目錄下。
打開CMD并切換至scripts目錄,easy_install zope.interface-3.8.0-py2.6-win32.egg安裝。
w3lib:zope.interface問題解決之后還會提示缺少w3lib,下載http://pypi.python.org/pypi/w3lib后安裝即可
libxml2:使用scrapy的html解析功能時(shí),會提示你缺少libxml2,所以我們先把這個(gè)也裝上,地址http://xmlsoft.org/sources/win32/python/,下載相應(yīng)的版本即可。
至此就可以使用Scrapy玩spider了,大家可以根據(jù)文檔寫一個(gè)簡單的爬蟲試試,實(shí)際上使用scrapy做一個(gè)簡易的爬蟲甚至只需要幾行代碼就可以了,以后有空再詳細(xì)說說使用方法,本文不做更多描述。
所謂網(wǎng)絡(luò)爬蟲,就是一個(gè)在網(wǎng)上到處或定向抓取數(shù)據(jù)的程序,當(dāng)然,這種說法不夠?qū)I(yè),更專業(yè)的描述就是,抓取特定網(wǎng)站網(wǎng)頁的HTML數(shù)據(jù)。不過由于一個(gè)網(wǎng)站的網(wǎng)頁很多,而我們又不可能事先知道所有網(wǎng)頁的URL地址,所以,如何保證我們抓取到了網(wǎng)站的所有HTML頁面就是一個(gè)有待考究的問題了。
一般的方法是,定義一個(gè)入口頁面,然后一般一個(gè)頁面會有其他頁面的URL,于是從當(dāng)前頁面獲取到這些URL加入到爬蟲的抓取隊(duì)列中,然后進(jìn)入到新新頁面后再遞歸的進(jìn)行上述的操作,其實(shí)說來就跟深度遍歷或廣度遍歷一樣。
上面介紹的只是爬蟲的一些概念而非搜索引擎,實(shí)際上搜索引擎的話其系統(tǒng)是相當(dāng)復(fù)雜的,爬蟲只是搜索引擎的一個(gè)子系統(tǒng)而已。下面介紹一個(gè)開源的爬蟲框架Scrapy。
Scrapy是一個(gè)用 Python 寫的 Crawler Framework ,簡單輕巧,并且非常方便,并且官網(wǎng)上說已經(jīng)在實(shí)際生產(chǎn)中在使用了,不過現(xiàn)在還沒有 Release 版本,可以直接使用他們的 Mercurial 倉庫里抓取源碼進(jìn)行安裝。
Scrapy 使用 Twisted 這個(gè)異步網(wǎng)絡(luò)庫來處理網(wǎng)絡(luò)通訊,架構(gòu)清晰,并且包含了各種中間件接口,可以靈活的完成各種需求。整體架構(gòu)如下圖所示:
綠線是數(shù)據(jù)流向,首先從初始 URL 開始,Scheduler 會將其交給 Downloader 進(jìn)行下載,下載之后會交給 Spider 進(jìn)行分析,Spider 分析出來的結(jié)果有兩種:一種是需要進(jìn)一步抓取的鏈接,例如之前分析的“下一頁”的鏈接,這些東西會被傳回 Scheduler ;另一種是需要保存的數(shù)據(jù),它們則被送到 Item Pipeline 那里,那是對數(shù)據(jù)進(jìn)行后期處理(詳細(xì)分析、過濾、存儲等)的地方。另外,在數(shù)據(jù)流動的通道里還可以安裝各種中間件,進(jìn)行必要的處理。
總結(jié)
以上是生活随笔為你收集整理的scapy安装and简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。