導航:首頁 > 網路共享 > 網路爬蟲開源軟體

網路爬蟲開源軟體

發布時間:2022-05-10 09:06:11

⑴ 有哪些開源的爬蟲,網頁抓取 的框架或工具

可以試下爬一爬採集器,直接抓取網頁數據,是開源的爬蟲。博客園有文章,可以搜搜看。

⑵ java開源web爬蟲哪個好用

Lucene+nutch+heritrix網上可以找得到源代碼,開源的搜索引擎,包含爬蟲、檢索等功能。

Heritrix是一個爬蟲框架,可加如入一些可互換的組件。 它的執行是遞歸進行的,主要有以下幾步: 1。在預定的URI中選擇一個。 2。獲取URI 3。分析,歸檔結果 4。選擇已經發現的感興趣的URI。加入預定隊列。 5。標記已經處理過的URI 是IA的開放源代碼,可擴展的,基於整個Web的,歸檔網路爬蟲工程 Heritrix工程始於2003年初,IA的目的是開發一個特殊的爬蟲,對網上的 資源進行歸檔,建立網路數字圖書館,在過去的6年裡,IA已經建立了400TB的數據。 最新版本:heritrix-1.15.4 IA期望他們的crawler包含以下幾種: 寬頻爬蟲:能夠以更高的帶寬去站點爬。 主題爬蟲:集中於被選擇的問題。 持續爬蟲:不僅僅爬更當前的網頁還負責爬日後更新的網頁。 實驗爬蟲:對爬蟲技術進行實驗,以決定該爬什麼,以及對不同協議的爬蟲 爬行結果進行分析的。 Heritrix的主頁是http://crawler.archive.org Heritrix是一個爬蟲框架,可加如入一些可互換的組件。 它的執行是遞歸進行的,主要有以下幾步: 1。在預定的URI中選擇一個。 2。獲取URI 3。分析,歸檔結果 4。選擇已經發現的感興趣的URI。加入預定隊列。 5。標記已經處理過的URI
[編輯本段]部件
主要部件
Heritrix主要有三大部件:范圍部件,邊界部件,處理器鏈 范圍部件:主要按照規則決定將哪個URI入隊。 邊界部件:跟蹤哪個預定的URI將被收集,和已經被收集的URI,選擇下一個 URI,剔除已經處理過的URI。 處理器鏈:包含若干處理器獲取URI,分析結果,將它們傳回給邊界部件
其餘部件
WEB管理控制台:大多數都是單機的WEB應用,內嵌JAVA HTTP 伺服器。 操作者可以通過選擇Crawler命令來操作控制台。 Crawler命令處理部件:包含足夠的信息創建要爬的URI。 Servercache(處理器緩存):存放伺服器的持久信息,能夠被爬行部件隨時查到,包括IP地址,歷史記錄,機器人策略。 處理器鏈: 預取鏈:主要是做一些准備工作,例如,對處理進行延遲和重新處理,否決隨後的操作。 提取鏈:主要是獲得資源,進行DNS轉換,填寫請求和響應表單 抽取鏈:當提取完成時,抽取感興趣的HTML,JavaScript,通常那裡有新的也適合的URI,此時URI僅僅被發現,不會被評估 寫鏈:存儲爬行結果,返回內容和抽取特性,過濾完存儲。 提交鏈:做最後的維護,例如,測試那些不在范圍內的,提交給邊界部件
[編輯本段]關鍵特性
Heritrix 1.0.0包含以下關鍵特性: 1.用單個爬蟲在多個獨立的站點一直不斷的進行遞歸的爬。 2。從一個提供的種子進行爬,收集站點內的精確URI,和精確主機。 3。主要是用廣度優先演算法進行處理。 4。主要部件都是高效的可擴展的 5。良好的配置,包括: a。可設置輸出日誌,歸檔文件和臨時文件的位置 b。可設置下載的最大位元組,最大數量的下載文檔,和最大的下載時間。 c。可設置工作線程數量。 d。可設置所利用的帶寬的上界。 e。可在設置之後一定時間重新選擇。 f。包含一些可設置的過濾機制,表達方式,URI路徑深度選擇等等。 Heritrix的局限: 1。單實例的爬蟲,之間不能進行合作。 2。在有限的機器資源的情況下,卻要復雜的操作。 3。只有官方支持,僅僅在Linux上進行了測試。 4。每個爬蟲是單獨進行工作的,沒有對更新進行修訂。 5。在硬體和系統失敗時,恢復能力很差。

⑶ 開源爬蟲框架各有什麼優缺點

首先爬蟲框架有三種

  1. 分布式爬蟲:Nutch

  2. JAVA單機爬蟲:Crawler4j,WebMagic,WebCollector

  3. 非JAVA單機爬蟲:scrapy

第一類:分布式爬蟲

優點:

  1. 海量URL管理

  2. 網速快

缺點:

  1. Nutch是為搜索引擎設計的爬蟲,大多數用戶是需要一個做精準數據爬取(精抽取)的爬蟲。Nutch運行的一套流程里,有三分之二是為了搜索引擎而設計的。對精抽取沒有太大的意義。

  2. 用Nutch做數據抽取,會浪費很多的時間在不必要的計算上。而且如果你試圖通過對Nutch進行二次開發,來使得它適用於精抽取的業務,基本上就要破壞Nutch的框架,把Nutch改的面目全非。

  3. Nutch依賴hadoop運行,hadoop本身會消耗很多的時間。如果集群機器數量較少,爬取速度反而不如單機爬蟲。

  4. Nutch雖然有一套插件機制,而且作為亮點宣傳。可以看到一些開源的Nutch插件,提供精抽取的功能。但是開發過Nutch插件的人都知道,Nutch的插件系統有多蹩腳。利用反射的機制來載入和調用插件,使得程序的編寫和調試都變得異常困難,更別說在上面開發一套復雜的精抽取系統了。

  5. Nutch並沒有為精抽取提供相應的插件掛載點。Nutch的插件有隻有五六個掛載點,而這五六個掛載點都是為了搜索引擎服務的,並沒有為精抽取提供掛載點。大多數Nutch的精抽取插件,都是掛載在「頁面解析」(parser)這個掛載點的,這個掛載點其實是為了解析鏈接(為後續爬取提供URL),以及為搜索引擎提供一些易抽取的網頁信息(網頁的meta信息、text)

  6. 用Nutch進行爬蟲的二次開發,爬蟲的編寫和調試所需的時間,往往是單機爬蟲所需的十倍時間不止。了解Nutch源碼的學習成本很高,何況是要讓一個團隊的人都讀懂Nutch源碼。調試過程中會出現除程序本身之外的各種問題(hadoop的問題、hbase的問題)。

  7. Nutch2的版本目前並不適合開發。官方現在穩定的Nutch版本是nutch2.2.1,但是這個版本綁定了gora-0.3。Nutch2.3之前、Nutch2.2.1之後的一個版本,這個版本在官方的SVN中不斷更新。而且非常不穩定(一直在修改)。

第二類:JAVA單機爬蟲

優點:

  1. 支持多線程。

  2. 支持代理。

  3. 能過濾重復URL的。

  4. 負責遍歷網站和下載頁面。爬js生成的信息和網頁信息抽取模塊有關,往往需要通過模擬瀏覽器(htmlunit,selenium)來完成。

缺點:

設計模式對軟體開發沒有指導性作用。用設計模式來設計爬蟲,只會使得爬蟲的設計更加臃腫。

第三類:非JAVA單機爬蟲

優點:

  1. 先說python爬蟲,python可以用30行代碼,完成JAVA

  2. 50行代碼乾的任務。python寫代碼的確快,但是在調試代碼的階段,python代碼的調試往往會耗費遠遠多於編碼階段省下的時間。

  3. 使用python開發,要保證程序的正確性和穩定性,就需要寫更多的測試模塊。當然如果爬取規模不大、爬取業務不復雜,使用scrapy這種爬蟲也是蠻不錯的,可以輕松完成爬取任務。

缺點:

  1. bug較多,不穩定。

⑷ java開源web爬蟲哪個好用

1.nutch
地址:apache/nutch · GitHub
apache下的開源爬蟲程序,功能豐富,文檔完整。有數據抓取解析以及存儲的模塊。

2.Heritrix
地址:internetarchive/heritrix3 · GitHub
很早就有了,經歷過很多次更新,使用的人比較多,功能齊全,文檔完整,網上的資料也多。有自己的web管理控制台,包含了一個HTTP 伺服器。操作者可以通過選擇Crawler命令來操作控制台。

3.crawler4j
地址:yasserg/crawler4j · GitHub
因為只擁有爬蟲的核心功能,所以上手極為簡單,幾分鍾就可以寫一個多線程爬蟲程序。

當然,上面說的nutch有的功能比如數據存儲不代表Heritrix沒有,反之亦然。具體使用哪個合適還需要仔細閱讀文檔並配合實驗才能下結論啊~
還有比如JSpider,WebEater,Java Web Crawler,WebLech,Ex-Crawler,JoBo等等,這些沒用過,不知道。。。

⑸ 目前做的最好的爬蟲項目是哪個,開源github

如下:
大型的:
Nutch
apache/nutch · GitHub
適合做搜索引擎,分布式爬蟲是其中一個功能。
Heritrix
internetarchive/heritrix3 · GitHub比較成熟的爬蟲。
小型的:
Crawler4j
yasserg/crawler4j · GitHub
WebCollector CrawlScript/WebCollector · GitHub(國人作品)
目標是在讓你在5分鍾之內寫好一個爬蟲。參考了crawler4j,如果經常需要寫爬蟲,需要寫很多爬蟲,還是不錯的,因為上手肯定不止5分鍾。缺點是它的定製性不強。
WebMagic code4craft/webmagic · GitHub(國人作品,推薦)
垂直、全棧式、模塊化爬蟲。更加適合抓取特定領域的信息。它包含了下載、調度、持久化、處理頁面等模塊。每一個模塊你都可以自己去實現,也可以選擇它已經幫你實現好的方案。這就有了很強的定製性。

⑹ 「求助」有沒有Python寫的開源的網路爬蟲軟

有個非常好用的開源Python網路爬蟲,名字叫做PySpider,它支持多線程爬取、JS動態解析,而且是Web操作界面,安裝好後可以用瀏覽器訪問本機的5000埠來進行爬取操作。

⑺ python的爬蟲框架有哪些

爬蟲框架需要URL、頁面下載器、爬蟲調度器、網頁解析器、數據處理

爬蟲框架要處理很多的URL,我們需要設計一個隊列存儲所有要處理的 URL,這種先進先出的數據結構非常符合這個需求。 將所有要下載的URL存儲在待處理隊列中,每次下載會取出一個,隊列中就會少一個。我們知道有些URL的下載會有反爬蟲策略,所以針對這些請求需要做一些特殊的設置,進而可以對URL進行封裝抽出 Request。

頁面下載器如果沒有,用戶就要編寫網路請求的處理代碼,這無疑對每個 URL 都是相同的動作。 所以在框架設計中我們直接加入它就好了,至於使用什麼庫來進行下載都是可以的,你可以用 httpclient 也可以用okhttp在本文中我們使用一個超輕量級的網路請求庫 oh-my-request (沒錯,就是在下搞的)。優秀的框架設計會將這個下載組件置為可替換,提供默認的即可。

爬蟲調度器,調度器和我們在開發 web 應用中的控制器是一個類似的概念,它用於在下載器、解析器之間做流轉處理。 解析器可以解析到更多的 URL 發送給調度器,調度器再次的傳輸給下載器,這樣就會讓各個組件有條不紊的進行工作。

網頁解析器我們知道當一個頁面下載完成後就是一段 HTML 的 DOM 字元串表示,但還需要提取出真正需要的數據以前的做法是通過String的API 或者正則表達式的方式在DOM 中搜尋,這樣是很麻煩的,框架 應該提供一種合理、常用、方便的方式來幫助用戶完成提取數據這件事兒。常用的手段是通過xpath或者css選擇器從DOM中進行提取,而且學習這項技能在幾乎所有的爬蟲框架中都是適用的。

數據處理,普通的爬蟲程序中是把網頁解析器和數據處理器合在一起的,解析到數據後馬上處理。 在一個標准化的爬蟲程序中,他們應該是各司其職的,我們先通過解析器將需要的數據解析出來,可能是封裝成對象。然後傳遞給數據處理器,處理器接收到數據後可能是存儲到資料庫,也可能通過介面發送給老王。

⑻ 目前有哪些比較著名的網路爬蟲開源項目可供學習

最好的爬蟲語言是前嗅的ForeSpider爬蟲腳本語言。是一門專門的爬蟲腳本語言,而不是爬蟲框架,可以用簡單幾行代碼,實現非常強大的爬蟲功能。
ForeSpider是可視化的通用性採集軟體,同時內置了強大的爬蟲腳本語言。如果有通過可視化採集不到的內容,都可以通過簡單幾行代碼,實現強大的腳本採集。軟體同時支持正則表達式操作,可以通過可視化、正則、腳本任意方式,實現對數據的清洗、規范。

對於一些高難度的網站,反爬蟲措施比較多,可以使用ForeSpider內部自帶的爬蟲腳本語言系統,簡單幾行代碼就可以採集到高難度的網站。比如國家自然基金會網站、全國企業信息公示系統等,最高難度的網站完全沒有問題。
在通用性爬蟲中,ForeSpider爬蟲的採集速度和採集能力是最強的,支持登錄、Cookie、Post、https、驗證碼、JS、Ajax、關鍵詞搜索等等技術的採集,採集效率在普通台式機上,可以達到500萬條數據/每天。這樣的採集速度是一般的通用性爬蟲的8到10倍。
對於大量的網站採集需求而言,ForeSpider爬蟲可以在規則模板固定之後,開啟定時採集。支持數據多次清洗。
對於關鍵詞搜索的需求而言,ForeSpider爬蟲支持關鍵詞搜索和數據挖掘功能,自帶關鍵詞庫和數據挖掘字典,可以有效採集關鍵詞相關的內容。
可以去下載免費版,免費版不限制採集功能。有詳細的操作手冊可以學習。

⑼ 有哪些開源的分布式爬蟲解決方案

從GitHub中整理出的15個最受歡迎的Python開源框架。這些框架包括事件I/O,OLAP,Web開發,高性能網路通信,測試,爬蟲等。 Django: Python Web應用開發框架 Django 應該是最出名的Python框架,GAE甚至Erlang都有框架受它影響。Django是走大而全...

⑽ 哪個開源多線程爬蟲比較好學 知乎

開發網路爬蟲應該選擇Nutch、Crawler4j、WebMagic、scrapy、WebCollector還是其他的?這里按照我的經驗隨便扯淡一下:上面說的爬蟲,基本可以分3類:1.分布式爬蟲:Nutch
2.JAVA單機爬蟲:Crawler4j、WebMagic、WebCollector
3. 非JAVA單機爬蟲:scrapy
第一類:分布式爬蟲
爬蟲使用分布式,主要是解決兩個問題:
1)海量URL管理
2)網速
現在比較流行的分布式爬蟲,是Apache的Nutch。但是對於大多數用戶來說,Nutch是這幾類爬蟲里,最不好的選擇,理由如下:
1)Nutch是為搜索引擎設計的爬蟲,大多數用戶是需要一個做精準數據爬取(精抽取)的爬蟲。Nutch運行的一套流程里,有三分之二是為了搜索引擎而設計的。對精抽取沒有太大的意義。也就是說,用Nutch做數據抽取,會浪費很多的時間在不必要的計算上。而且如果你試圖通過對Nutch進行二次開發,來使得它適用於精抽取的業務,基本上就要破壞Nutch的框架,把Nutch改的面目全非,有修改Nutch的能力,真的不如自己重新寫一個分布式爬蟲框架了。
2)Nutch依賴hadoop運行,hadoop本身會消耗很多的時間。如果集群機器數量較少,爬取速度反而不如單機爬蟲快。
3)Nutch雖然有一套插件機制,而且作為亮點宣傳。可以看到一些開源的Nutch插件,提供精抽取的功能。但是開發過Nutch插件的人都知道,Nutch的插件系統有多蹩腳。利用反射的機制來載入和調用插件,使得程序的編寫和調試都變得異常困難,更別說在上面開發一套復雜的精抽取系統了。而且Nutch並沒有為精抽取提供相應的插件掛載點。Nutch的插件有隻有五六個掛載點,而這五六個掛載點都是為了搜索引擎服務的,並沒有為精抽取提供掛載點。大多數Nutch的精抽取插件,都是掛載在「頁面解析」(parser)這個掛載點的,這個掛載點其實是為了解析鏈接(為後續爬取提供URL),以及為搜索引擎提供一些易抽取的網頁信息(網頁的meta信息、text文本)。
4)用Nutch進行爬蟲的二次開發,爬蟲的編寫和調試所需的時間,往往是單機爬蟲所需的十倍時間不止。了解Nutch源碼的學習成本很高,何況是要讓一個團隊的人都讀懂Nutch源碼。調試過程中會出現除程序本身之外的各種問題(hadoop的問題、hbase的問題)。
5)很多人說Nutch2有gora,可以持久化數據到avro文件、hbase、mysql等。很多人其實理解錯了,這里說的持久化數據,是指將URL信息(URL管理所需要的數據)存放到avro、hbase、mysql。並不是你要抽取的結構化數據。其實對大多數人來說,URL信息存在哪裡無所謂。
6)Nutch2的版本目前並不適合開發。官方現在穩定的Nutch版本是nutch2.2.1,但是這個版本綁定了gora-0.3。如果想用hbase配合nutch(大多數人用nutch2就是為了用hbase),只能使用0.90版本左右的hbase,相應的就要將hadoop版本降到hadoop 0.2左右。而且nutch2的官方教程比較有誤導作用,Nutch2的教程有兩個,分別是Nutch1.x和Nutch2.x,這個Nutch2.x官網上寫的是可以支持到hbase 0.94。但是實際上,這個Nutch2.x的意思是Nutch2.3之前、Nutch2.2.1之後的一個版本,這個版本在官方的SVN中不斷更新。而且非常不穩定(一直在修改)。
所以,如果你不是要做搜索引擎,盡量不要選擇Nutch作為爬蟲。有些團隊就喜歡跟風,非要選擇Nutch來開發精抽取的爬蟲,其實是沖著Nutch的名氣(Nutch作者是Doug Cutting),當然最後的結果往往是項目延期完成。
如果你是要做搜索引擎,Nutch1.x是一個非常好的選擇。Nutch1.x和solr或者es配合,就可以構成一套非常強大的搜索引擎了。如果非要用Nutch2的話,建議等到Nutch2.3發布再看。目前的Nutch2是一個非常不穩定的版本。
第二類:JAVA單機爬蟲
這里把JAVA爬蟲單獨分為一類,是因為JAVA在網路爬蟲這塊的生態圈是非常完善的。相關的資料也是最全的。這里可能有爭議,我只是隨便扯淡。
其實開源網路爬蟲(框架)的開發非常簡單,難問題和復雜的問題都被以前的人解決了(比如DOM樹解析和定位、字元集檢測、海量URL去重),可以說是毫無技術含量。包括Nutch,其實Nutch的技術難點是開發hadoop,本身代碼非常簡單。網路爬蟲從某種意義來說,類似遍歷本機的文件,查找文件中的信息。沒有任何難度可言。之所以選擇開源爬蟲框架,就是為了省事。比如爬蟲的URL管理、線程池之類的模塊,誰都能做,但是要做穩定也是需要一段時間的調試和修改的。
對於爬蟲的功能來說。用戶比較關心的問題往往是:
1)爬蟲支持多線程么、爬蟲能用代理么、爬蟲會爬取重復數據么、爬蟲能爬取JS生成的信息么?
不支持多線程、不支持代理、不能過濾重復URL的,那都不叫開源爬蟲,那叫循環執行http請求。
能不能爬js生成的信息和爬蟲本身沒有太大關系。爬蟲主要是負責遍歷網站和下載頁面。爬js生成的信息和網頁信息抽取模塊有關,往往需要通過模擬瀏覽器(htmlunit,selenium)來完成。這些模擬瀏覽器,往往需要耗費很多的時間來處理一個頁面。所以一種策略就是,使用這些爬蟲來遍歷網站,遇到需要解析的頁面,就將網頁的相關信息提交給模擬瀏覽器,來完成JS生成信息的抽取。
2)爬蟲可以爬取ajax信息么?
網頁上有一些非同步載入的數據,爬取這些數據有兩種方法:使用模擬瀏覽器(問題1中描述過了),或者分析ajax的http請求,自己生成ajax請求的url,獲取返回的數據。如果是自己生成ajax請求,使用開源爬蟲的意義在哪裡?其實是要用開源爬蟲的線程池和URL管理功能(比如斷點爬取)。
如果我已經可以生成我所需要的ajax請求(列表),如何用這些爬蟲來對這些請求進行爬取?
爬蟲往往都是設計成廣度遍歷或者深度遍歷的模式,去遍歷靜態或者動態頁面。爬取ajax信息屬於deep web(深網)的范疇,雖然大多數爬蟲都不直接支持。但是也可以通過一些方法來完成。比如WebCollector使用廣度遍歷來遍歷網站。爬蟲的第一輪爬取就是爬取種子集合(seeds)中的所有url。簡單來說,就是將生成的ajax請求作為種子,放入爬蟲。用爬蟲對這些種子,進行深度為1的廣度遍歷(默認就是廣度遍歷)。
3)爬蟲怎麼爬取要登陸的網站?
這些開源爬蟲都支持在爬取時指定cookies,模擬登陸主要是靠cookies。至於cookies怎麼獲取,不是爬蟲管的事情。你可以手動獲取、用http請求模擬登陸或者用模擬瀏覽器自動登陸獲取cookie。
4)爬蟲怎麼抽取網頁的信息?
開源爬蟲一般都會集成網頁抽取工具。主要支持兩種規范:CSS SELECTOR和XPATH。至於哪個好,這里不評價。
5)爬蟲怎麼保存網頁的信息?
有一些爬蟲,自帶一個模塊負責持久化。比如webmagic,有一個模塊叫pipeline。通過簡單地配置,可以將爬蟲抽取到的信息,持久化到文件、資料庫等。還有一些爬蟲,並沒有直接給用戶提供數據持久化的模塊。比如crawler4j和webcollector。讓用戶自己在網頁處理模塊中添加提交資料庫的操作。至於使用pipeline這種模塊好不好,就和操作資料庫使用ORM好不好這個問題類似,取決於你的業務。
6)爬蟲被網站封了怎麼辦?
爬蟲被網站封了,一般用多代理(隨機代理)就可以解決。但是這些開源爬蟲一般沒有直接支持隨機代理的切換。所以用戶往往都需要自己將獲取的代理,放到一個全局數組中,自己寫一個代理隨機獲取(從數組中)的代碼。
7)網頁可以調用爬蟲么?
爬蟲的調用是在Web的服務端調用的,平時怎麼用就怎麼用,這些爬蟲都可以使用。
8)爬蟲速度怎麼樣?
單機開源爬蟲的速度,基本都可以講本機的網速用到極限。爬蟲的速度慢,往往是因為用戶把線程數開少了、網速慢,或者在數據持久化時,和資料庫的交互速度慢。而這些東西,往往都是用戶的機器和二次開發的代碼決定的。這些開源爬蟲的速度,都很可以。
9)明明代碼寫對了,爬不到數據,是不是爬蟲有問題,換個爬蟲能解決么?
如果代碼寫對了,又爬不到數據,換其他爬蟲也是一樣爬不到。遇到這種情況,要麼是網站把你封了,要麼是你爬的數據是javascript生成的。爬不到數據通過換爬蟲是不能解決的。
10)哪個爬蟲可以判斷網站是否爬完、那個爬蟲可以根據主題進行爬取?
爬蟲無法判斷網站是否爬完,只能盡可能覆蓋。
至於根據主題爬取,爬蟲之後把內容爬下來才知道是什麼主題。所以一般都是整個爬下來,然後再去篩選內容。如果嫌爬的太泛,可以通過限制URL正則等方式,來縮小一下范圍。
11)哪個爬蟲的設計模式和構架比較好?
設計模式純屬扯淡。說軟體設計模式好的,都是軟體開發完,然後總結出幾個設計模式。設計模式對軟體開發沒有指導性作用。用設計模式來設計爬蟲,只會使得爬蟲的設計更加臃腫。
至於構架,開源爬蟲目前主要是細節的數據結構的設計,比如爬取線程池、任務隊列,這些大家都能控制好。爬蟲的業務太簡單,談不上什麼構架。
所以對於JAVA開源爬蟲,我覺得,隨便找一個用的順手的就可以。如果業務復雜,拿哪個爬蟲來,都是要經過復雜的二次開發,才可以滿足需求。
第三類:非JAVA單機爬蟲
在非JAVA語言編寫的爬蟲中,有很多優秀的爬蟲。這里單獨提取出來作為一類,並不是針對爬蟲本身的質量進行討論,而是針對larbin、scrapy這類爬蟲,對開發成本的影響。
先說python爬蟲,python可以用30行代碼,完成JAVA 50行代碼乾的任務。python寫代碼的確快,但是在調試代碼的階段,python代碼的調試往往會耗費遠遠多於編碼階段省下的時間。使用python開發,要保證程序的正確性和穩定性,就需要寫更多的測試模塊。當然如果爬取規模不大、爬取業務不復雜,使用scrapy這種爬蟲也是蠻不錯的,可以輕松完成爬取任務。
對於C++爬蟲來說,學習成本會比較大。而且不能只計算一個人的學習成本,如果軟體需要團隊開發或者交接,那就是很多人的學習成本了。軟體的調試也不是那麼容易。
還有一些ruby、php的爬蟲,這里不多評價。的確有一些非常小型的數據採集任務,用ruby或者php很方便。但是選擇這些語言的開源爬蟲,一方面要調研一下相關的生態圈,還有就是,這些開源爬蟲可能會出一些你搜不到的BUG(用的人少、資料也少)

閱讀全文

與網路爬蟲開源軟體相關的資料

熱點內容
手機不欠費為什麼顯示網路不可用 瀏覽:302
日版蘋果11網路怎麼樣 瀏覽:865
清除網路共享盤命令 瀏覽:866
網路接聽電話軟體 瀏覽:715
友朋漂流瓶顯示網路連接異常 瀏覽:750
usb和藍牙共享網路哪個效果好 瀏覽:390
建設網路游戲有哪些 瀏覽:434
網路喚醒和關機連接哪個好 瀏覽:259
怎麼設置2g網路接入點 瀏覽:953
沒有手機卡可以使用網路嗎 瀏覽:831
長春移動網路檢修公告 瀏覽:338
watch配對無法連接網路 瀏覽:611
如何連接無線網路密鑰 瀏覽:599
網路與新媒體專業屬於哪個院系 瀏覽:210
深圳小區網路被壟斷怎麼辦 瀏覽:589
小愛pid網路連接超時 瀏覽:260
c226網路設置不見了 瀏覽:238
電腦選哪個網路 瀏覽:168
ps4網路設置中國移動 瀏覽:871
移動網路修復下載 瀏覽:532

友情鏈接