如何抓取整个维基百科?

时间:2010-02-22 20:01:26

标签: java web-crawler wikipedia websphinx

我尝试过WebSphinx应用程序。

我知道如果我把wikipedia.org作为起始网址,它就不会进一步抓取。

因此,如何实际抓取整个维基百科?任何人都可以给出一些指导方针吗?我是否需要专门去查找这些网址并放置多个起始网址?

任何人都有关于使用WebSphinx API的教程的好网站的建议吗?

6 个答案:

答案 0 :(得分:44)

如果您的目标是抓取所有维基百科,您可能需要查看可用的数据库转储。请参阅http://download.wikimedia.org/

答案 1 :(得分:4)

我不确定但也许WEbSphinx的UserAgent被维基百科的robots.txt阻止

http://en.wikipedia.org/robots.txt

答案 2 :(得分:2)

我认为您无法为此选择所需的配置。切换到高级,抓取子域,无限制页面大小和时间。

然而, WebSphinx 可能无法抓取整个维基百科,它会因较大的数据而变慢,并最终停止使用接近200mb的内存。我建议您NutchHeritrixCrawler4j

答案 3 :(得分:0)

您可能需要从随机文章开始,然后抓取您可以从该起始文章中获取的所有文章。当该搜索树已用尽时,请从新的随机文章开始。您可以使用您认为会导致最多文章的词汇来搜索您的搜索,或者从首页上的精选文章开始。

另一个问题:为什么WebSphinx没有进一步爬行?维基百科会阻止识别为“WebSphinx”的僵尸程序吗?

答案 4 :(得分:0)

除了使用上面提到的维基百科数据库转储之外,您还可以使用维基百科的API来执行查询,例如检索100篇随机文章。

http://www.mediawiki.org/wiki/API:Query_-Lists#random.2F_rn

答案 5 :(得分:-1)

查看dbpedia,维基百科的结构化版本。