成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你寫網(wǎng)絡(luò)爬蟲(3):開源爬蟲框架對比

開發(fā) 后端
我們從今天開始學(xué)習(xí)開源爬蟲框架Scrapy,如果你看過《手把手》系列的前兩篇,那么今天的內(nèi)容就非常容易理解了。Scrapy的靈活性幾乎能夠讓我們完成任何苛刻的抓取需求,它的“難用”也讓我們不知不覺的研究爬蟲技術(shù)。

[[229275]]

 

本系列:

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比其他所有的加起來都要多,我仿佛聽到他這樣說:

[[229276]]

 

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

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

缺點(diǎn):

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

結(jié)論

篇幅有限,就先選擇這三個(gè)最有代表性的框架進(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的時(shí)候,目前的當(dāng)務(wù)之急是打好基礎(chǔ),應(yīng)該學(xué)習(xí)最接近爬蟲本質(zhì)的框架,了解它的原理,所以把Pyspider也排除掉。

最終,理性的從個(gè)人的需求角度對比,還是Scrapy勝出!其實(shí)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è)計(jì)好的API(中間件, extensions, pipelines)來定制實(shí)現(xiàn)您的功能。
  • 內(nèi)置的中間件及擴(kuò)展為下列功能提供了支持:
    • cookies and session 處理
    • HTTP 壓縮
    • HTTP 認(rèn)證
    • HTTP 緩存
    • user-agent模擬
    • robots.txt
    • 爬取深度限制
  • 針對非英語語系中不標(biāo)準(zhǔn)或者錯(cuò)誤的編碼聲明, 提供了自動檢測以及健壯的編碼支持。
  • 支持根據(jù)模板生成爬蟲。在加速爬蟲創(chuàng)建的同時(shí),保持在大型項(xià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 為您在爬取過程中捕捉錯(cuò)誤提供了方便。
  • 支持 Sitemaps 爬取。
  • 具有緩存的DNS解析器。

下一步 

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

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

責(zé)任編輯:龐桂玉 來源: Python開發(fā)者
相關(guān)推薦

2018-05-14 15:27:06

Python網(wǎng)絡(luò)爬蟲爬蟲架構(gòu)

2018-05-22 15:30:30

Python網(wǎng)絡(luò)爬蟲分布式爬蟲

2018-05-16 15:46:06

Python網(wǎng)絡(luò)爬蟲PhantomJS

2018-05-16 13:50:30

Python網(wǎng)絡(luò)爬蟲Scrapy

2018-05-22 16:28:46

Python網(wǎng)絡(luò)爬蟲URL去重

2018-05-14 14:02:41

Python爬蟲網(wǎng)易云音樂

2020-07-10 08:24:18

Python開發(fā)工具

2021-01-30 10:37:18

ScrapyGerapy網(wǎng)絡(luò)爬蟲

2021-09-01 14:49:48

curl2pypython工具

2021-11-09 09:01:36

Python網(wǎng)絡(luò)爬蟲Python基礎(chǔ)

2021-04-01 09:02:38

Python小說下載網(wǎng)絡(luò)爬蟲

2023-03-27 08:28:57

spring代碼,starter

2022-03-30 09:11:00

Python網(wǎng)絡(luò)爬蟲

2024-01-26 08:16:48

Exporter開源cprobe

2021-05-27 11:10:42

Python開源包代碼

2020-11-10 09:11:02

采集數(shù)據(jù)

2021-07-14 09:00:00

JavaFX開發(fā)應(yīng)用

2025-05-07 00:31:30

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 三级免费| 国产精品高潮呻吟久久av黑人 | 国产日日操 | 国产成人精品一区二三区在线观看 | 久久国产精品免费 | 日韩免费一区二区 | 精品日韩一区 | 精品一区二区三区免费毛片 | 亚洲国产精品久久久久婷婷老年 | 精品国产99 | 国产精品视频导航 | 国产美女在线观看 | av男人的天堂在线 | av福利网 | 成人午夜电影在线观看 | 91国自视频 | 欧美精品一区二区三区在线播放 | h在线播放 | 国产乱一区二区三区视频 | 丝袜美腿一区二区三区 | 亚洲精品久久 | 亚洲永久免费观看 | 黄色网址av | 天天做日日做 | 69av网 | 男人的天堂一级片 | 全部免费毛片在线播放网站 | 视频一区二区在线观看 | av中文在线| 99国内精品久久久久久久 | 97伦理电影网 | 精品视频在线一区 | 亚洲一区二区中文字幕 | 午夜精品视频在线观看 | 色综合中文 | 91久久国产精品 | 成人免费黄视频 | 99在线视频观看 | 久久精品免费观看 | 国产精品亚洲精品日韩已方 | 在线播放一区二区三区 |