日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
手把手教你寫網(wǎng)絡(luò)爬蟲(3):開源爬蟲框架對比

本系列:

專業(yè)領(lǐng)域包括成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)成都商城網(wǎng)站開發(fā)、微信營銷、系統(tǒng)平臺開發(fā), 與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。

  • 《手把手教你寫網(wǎng)絡(luò)爬蟲(1):網(wǎng)易云音樂歌單》
  • 《手把手教你寫網(wǎng)絡(luò)爬蟲(2):迷你爬蟲架構(gòu)》
Project Language Star Watch Fork
Nutch Java 1111 195 808
webmagic Java 4216 618 2306
WebCollector Java 1222 255 958
heritrix3 Java 773 141 428
crawler4j Java 1831 242 1136
Pyspider Python 8581 687 2273
Scrapy Python 19642 1405 5261

看到了嗎?星星數(shù)***的Scrapy比其他所有的加起來都要多,我仿佛聽到他這樣說:

優(yōu)點(diǎn):

  • 極其靈活的定制化爬取。
  • 社區(qū)人數(shù)多、文檔完善。
  • URL去重采用布隆過濾器方案。
  • 可以處理不完整的HTML,Scrapy已經(jīng)提供了selectors(一個在lxml的基礎(chǔ)上提供了更高級的接口),可以高效地處理不完整的HTML代碼。

缺點(diǎn):

  • 不支持分布式部署。
  • 原生不支持抓取JavaScript的頁面。
  • 全命令行操作,對用戶不友好,需要一定學(xué)習(xí)周期。

結(jié)論

篇幅有限,就先選擇這三個最有代表性的框架進(jìn)行PK。他們都有遠(yuǎn)超別人的優(yōu)點(diǎn),比如:Nutch天生的搜索引擎解決方案、Pyspider產(chǎn)品級的WebUI、Scrapy最靈活的定制化爬取。也都各自致命的缺點(diǎn),比如Scrapy不支持分布式部署,Pyspider不夠靈活,Nutch和搜索綁定。究竟該怎么選擇呢?

我們的目標(biāo)是做純粹的爬蟲,不是搜索引擎,所以先把Nutch排除掉,剩下人性化的Pyspider和高可定制的Scrapy。Scrapy的靈活性幾乎能夠讓我們完成任何苛刻的抓取需求,它的“難用”也讓我們不知不覺的研究爬蟲技術(shù)。現(xiàn)在還不是享受Pyspider的時候,目前的當(dāng)務(wù)之急是打好基礎(chǔ),應(yīng)該學(xué)習(xí)最接近爬蟲本質(zhì)的框架,了解它的原理,所以把Pyspider也排除掉。

最終,理性的從個人的需求角度對比,還是Scrapy勝出!其實Scrapy還有更多優(yōu)點(diǎn):

  • HTML, XML源數(shù)據(jù)選擇及提取的原生支持。
  • 提供了一系列在spider之間共享的可復(fù)用的過濾器(即 Item Loaders),對智能處理爬取數(shù)據(jù)提供了內(nèi)置支持。
  • 通過 feed導(dǎo)出 提供了多格式(JSON、CSV、XML),多存儲后端(FTP、S3、本地文件系統(tǒng))的內(nèi)置支持。
  • 提供了media pipeline,可以 自動下載 爬取到的數(shù)據(jù)中的圖片(或者其他資源)。
  • 高擴(kuò)展性。您可以通過使用 signals ,設(shè)計好的API(中間件, extensions, pipelines)來定制實現(xiàn)您的功能。
  • 內(nèi)置的中間件及擴(kuò)展為下列功能提供了支持:
    • cookies and session 處理
    • HTTP 壓縮
    • HTTP 認(rèn)證
    • HTTP 緩存
    • user-agent模擬
    • robots.txt
    • 爬取深度限制
  • 針對非英語語系中不標(biāo)準(zhǔn)或者錯誤的編碼聲明, 提供了自動檢測以及健壯的編碼支持。
  • 支持根據(jù)模板生成爬蟲。在加速爬蟲創(chuàng)建的同時,保持在大型項目中的代碼更為一致。
  • 針對多爬蟲下性能評估、失敗檢測,提供了可擴(kuò)展的 狀態(tài)收集工具 。
  • 提供 交互式shell終端 , 為您測試XPath表達(dá)式,編寫和調(diào)試爬蟲提供了極大的方便。
  • 提供 System service, 簡化在生產(chǎn)環(huán)境的部署及運(yùn)行。
  • 內(nèi)置 Telnet終端 ,通過在Scrapy進(jìn)程中鉤入Python終端,使您可以查看并且調(diào)試爬蟲。
  • Logging 為您在爬取過程中捕捉錯誤提供了方便。
  • 支持 Sitemaps 爬取。
  • 具有緩存的DNS解析器。

下一步

吹了半天的Scrapy,時間也到了,如果大家能夠喜歡上它,學(xué)習(xí)的效率一定會成倍提升!下次我會為大家?guī)頋M滿的干貨,并完成更具挑戰(zhàn)性的爬蟲任務(wù),我們下期再見!

原文鏈接:http://www.cnblogs.com/tuohai666/p/8861422.html


網(wǎng)站題目:手把手教你寫網(wǎng)絡(luò)爬蟲(3):開源爬蟲框架對比
網(wǎng)頁地址:http://www.dlmjj.cn/article/djggspe.html