最近公司需要擴(kuò)展業(yè)務(wù),需要爬取一些新的數(shù)據(jù)赫模,然后接觸了一下scrapy树肃,瞬間覺(jué)得..(此處停頓3秒)。瀑罗。胸嘴。
簡(jiǎn)直黑魔法啊斩祭!
你能想象爬個(gè)網(wǎng)站配置一下就好了嗎劣像?
想前些日子用requests + BeautifulSoup爬新浪微博做畢設(shè)的日子,就像刀耕火種瞬間發(fā)現(xiàn)了世界上有了蒸汽機(jī)摧玫,馬上可以暢想蒸汽朋克了耳奕,哭瞎了。
這么吹水真的對(duì)不起信誓旦旦的教學(xué)向...
首先感謝scrapy文檔的中文翻譯作者marchtea,看他最后在博客說(shuō)來(lái)深圳實(shí)習(xí)屋群,不知道現(xiàn)在還在不在深圳时迫,(Maybe I can buy him an cup of coffee :) )。
然后祭出這張圖:
這張圖我看過(guò)中文版本的谓晌,但是實(shí)在找不到了掠拳,下次找到了我再補(bǔ)上。
這張圖講了scrapy的大致的流程纸肉,描述的很棒了重罪,大概說(shuō)下最簡(jiǎn)單的幾個(gè)感昼,能最簡(jiǎn)單實(shí)現(xiàn)功能的。
Spiders
圖片最下面,即一個(gè)爬蟲靴患,我們爬一個(gè)網(wǎng)站,基本上就是定義一個(gè)爬蟲苍凛。Items
左邊的彎曲的箭頭龄寞,按照文檔的說(shuō)法,是類似于字典的一種結(jié)構(gòu)實(shí)現(xiàn)谬俄,用來(lái)保存你需要爬取的內(nèi)容柏靶,比如爬個(gè)電商網(wǎng)站,保存的就是各種商品規(guī)格溃论;爬煎蛋的妹子圖屎蜓,保存的就是URL;爬1024钥勋,保存就是ftp之類的 :)炬转。-
Item Pipeline
重寫item處理流程的一個(gè)或者幾個(gè)函數(shù),主要實(shí)現(xiàn)兩個(gè)功能:- item清洗算灸,比如爬到的item內(nèi)部的元素是否全部都是你需要的扼劈?
- 數(shù)據(jù)持久化,比如爬取到的每個(gè)item是寫到mongodb菲驴、mysql荐吵,還是輸出成json?
了解了這三個(gè)主要的部分,完全就可以開始操作啦谢翎!
我會(huì)在下一講里面帶來(lái)爬取某個(gè)網(wǎng)站的demo,但是還沒(méi)決定好爬哪個(gè)網(wǎng)站...敬請(qǐng)期待 :)