6

我正在尝试使用 Rails 根据搜索词从维基百科中提取数据。

例如,

1)如果我有字符串“美国偶像”,我想将其传递给维基百科并获取与之相关的文章列表。我的目标是获取前 3 个超链接并将它们显示在网站上。

2)更进一步的步骤是我从维基百科中提取小块数据——比如信息框,或者维基百科文章的前几个词。

有小费吗?

谢谢!

4

3 回答 3

5

你不需要求助于屏幕抓取,MediaWiki 有一个非常全面的 API来处理这类事情。请参阅https://github.com/jpatokal/mediawiki-gateway以获取方便的 Ruby 包装器。

或者,如果您只对信息框之类的数据感兴趣,请参阅DBpedia以获取 Wikipedia 的数据库版本。

于 2011-10-27T11:25:46.047 回答
1

您可以使用另一个 gem:https ://github.com/kenpratt/wikipedia-client

这个 gem 似乎只得到了您搜索的第一个结果,但您可以查阅文档以确定。

关于内容,一旦你获得页面,gem 允许你访问文章、链接、图像等的不同内容。

于 2014-05-22T09:31:09.283 回答
0

使用 mechanize 和 nokogiri 来做到这一点。这是一个很好的备忘单:

http://www.e-tobi.net/blog/files/ruby-mechanize-cheat-sheet.pdf

Mechanize 是一个模拟网站调用的工具箱,nokogiri 是一个 html/xml 解析器。意识到这一点应该很简单。

于 2011-10-20T05:56:55.253 回答