日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【Scrapy】走進(jìn)成熟的爬蟲框架

 flyk0tcfb46p9f 2019-02-02

今天簡(jiǎn)單聊聊Scrapy的安裝。

前幾天有小伙伴留言說(shuō)能不能介紹推薦一下爬蟲框架,我給他推薦了Scrapy,本來(lái)想偷個(gè)懶,推薦他去看官方文檔,里面有一些demo代碼可供學(xué)習(xí)測(cè)試。結(jié)果收到回復(fù)說(shuō)文檔中演示用到的網(wǎng)站已經(jīng)無(wú)法訪問(wèn)了。所以只能自己來(lái)簡(jiǎn)單寫一下了,也算是自己一個(gè)學(xué)習(xí)記錄。

Scrapy是什么?

定義介紹我也不復(fù)制粘貼了。簡(jiǎn)單來(lái)說(shuō),Scrapy是一個(gè)中大型的爬蟲框架,框架的意義就在于幫你預(yù)設(shè)好了很多可以用的東西,讓你可以從復(fù)雜的數(shù)據(jù)流和底層控制中抽離出來(lái),專心于頁(yè)面的解析即可完成中大項(xiàng)目爬蟲,甚至是分布式爬蟲。

但是爬蟲入門是不推薦直接從框架入手的,直接從框架入手會(huì)讓你頭暈?zāi)垦?,覺得哪兒哪兒都看不懂,有點(diǎn)類似于還沒學(xué)會(huì)基礎(chǔ)的遣詞造句就直接套用模板寫成文章,自然是十分吃力的。所以還是推薦大家有一定的手寫爬蟲基礎(chǔ)再深入了解框架。(當(dāng)然還沒有入門爬蟲的同學(xué)…可以催更我的爬蟲入門文章…)

那么首先是安裝。

Python的版本選擇之前提過(guò),推薦大家全面擁抱Python 3.x。

很久以前,大概是我剛?cè)腴T學(xué)習(xí)Scrapy時(shí),Scrapy還沒有支持Python 3.x,那時(shí)一部分爬蟲工程師把Scrapy不支持Python 3.x作為不進(jìn)行遷移的理由。當(dāng)然了,那時(shí)更具體的原因是Scrapy所依賴的twisted和mitmproxy不支持Python 3.x。

現(xiàn)在我依然推薦大家全面擁抱Python 3.x。

先安裝Python

這次我們以本地環(huán)境來(lái)進(jìn)行安裝(Windows+Anaconda),由于Python的跨平臺(tái)特性,我們本地寫的代碼可以很容易遷移到別的電腦或服務(wù)器使用。(當(dāng)然了,從規(guī)范使用的角度上推薦大家使用單獨(dú)的env,或者直接使用docker或者vagrant,不過(guò)那就說(shuō)來(lái)話長(zhǎng)了…以后可以考慮單獨(dú)介紹)

按照慣例,我們直接使用 pip install scrapy 進(jìn)行安裝。

那么,你大概率會(huì)遇到這樣的錯(cuò)誤:

具體的錯(cuò)誤原因…缺少M(fèi)icrosoft Visual C++ 14.0…你也可以自己通過(guò)其他渠道解決,當(dāng)然我們最推薦的做法是直接使用 conda install scrapy 命令(前提是你安裝了Anaconda而非普通Python)。

如果遇到寫入權(quán)限錯(cuò)誤,請(qǐng)用管理員模式運(yùn)行cmd。

之后我們可以寫一個(gè)很小的demo,依然是官方案例中的DMOZ,DMOZ網(wǎng)站是一個(gè)著名的開放式分類目錄(Open DirectoryProject),原版的DMOZ已于去年的3月17日停止了運(yùn)營(yíng),目前網(wǎng)站處于403狀態(tài)。但是網(wǎng)上大量過(guò)去的教程都是以DMOZ為案例的。我為大家找到了原DMOZ網(wǎng)站的靜態(tài)鏡像站,大家可以直接訪問(wèn) http:///

大家按照官方文檔的步驟繼續(xù)做就可以了,后續(xù)的問(wèn)題不大。

(http://scrapy-chs./zh_CN/0.24/intro/tutorial.html)

需要注意的就是工作目錄問(wèn)題。

啟動(dòng)Scrapy項(xiàng)目。

scrapy startproject tutorial

進(jìn)入目錄,我們可以看到自動(dòng)生成的一些文件,這些文件就是scrapy框架所需要的最基礎(chǔ)的組織結(jié)構(gòu)。

scrapy.cfg: 項(xiàng)目的配置文件

tutorial/: 該項(xiàng)目的python模塊。之后您將在此加入代碼。

tutorial/items.py: 項(xiàng)目中的item文件.

tutorial/pipelines.py: 項(xiàng)目中的pipelines文件.

tutorial/settings.py: 項(xiàng)目的設(shè)置文件.

tutorial/spiders/: 放置spider代碼的目錄.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多