2010-02-22 36 views
5

我試過WebSphinx應用程序。如何抓取整個維基百科?

我意識到如果我把wikipedia.org作爲起始URL,它將不會進一步爬行。

因此,如何實際抓取整個維基百科?任何人都可以給我一些指導嗎?我是否需要專門去查找這些網址並放置多個起始網址?

任何人都有優秀網站的建議與WebSphinx的API的教程?

回答

43

如果您的目標是抓取所有維基百科,您可能需要查看可用的數據庫轉儲。見http://download.wikimedia.org/

+26

+1。通過HTTP爬行維基百科是粗魯的,並給服務器帶來很多額外的負擔。 – 2010-02-22 20:30:26

+7

@GregHewgill,這是一個非常假設的陳述。這取決於您抓取網站的速度有多快,您是否尊重robots.txt指令以及您認爲「大量額外負載」的含義。根據維基百科「友好,低速機器人歡迎查看文章頁面,但不是動態生成頁面請。」 - http://en.wikipedia.org/robots.txt 爬行器通常不是用來解析維基百科特定的xml文檔,裏面充滿了wiki標記,所以創建一個單獨的系統來解析過時的xml轉儲只是爲了維基百科,似乎很愚蠢。 – 2012-06-22 15:57:10

+0

我不明白:如果允許友好抓取,爲什麼他們不允許robots.txt中使用這種抓取工具? – TechNyquist 2017-05-15 07:24:17

0

您可能需要從隨機文章開始,然後抓取所有可以從該文章開始的文章。當搜索樹已經用盡時,從一個新的隨機文章開始。您可以用您認爲會導致大多數文章的術語對您的搜索進行種子處理,或者從首頁上的特色文章開始。

另一個問題:爲什麼WebSphinx沒有進一步抓取?維基百科將殭屍程序標識爲「WebSphinx」嗎?

2

我想你不能選擇,所需的配置。切換到高級,抓取子域,不限制頁面大小和時間。

然而,WebSphinx可能無法抓取整個維基百科,它具有更大的數據減慢並最終停止近200MB的內存使用。我建議你NutchHeritrixCrawler4j

-1

看看dbpedia,維基百科的結構化版本。