我正在尝试使用 Rails 根据搜索词从维基百科中提取数据。
例如,
1)如果我有字符串“美国偶像”,我想将其传递给维基百科并获取与之相关的文章列表。我的目标是获取前 3 个超链接并将它们显示在网站上。
2)更进一步的步骤是我从维基百科中提取小块数据——比如信息框,或者维基百科文章的前几个词。
有小费吗?
谢谢!
我正在尝试使用 Rails 根据搜索词从维基百科中提取数据。
例如,
1)如果我有字符串“美国偶像”,我想将其传递给维基百科并获取与之相关的文章列表。我的目标是获取前 3 个超链接并将它们显示在网站上。
2)更进一步的步骤是我从维基百科中提取小块数据——比如信息框,或者维基百科文章的前几个词。
有小费吗?
谢谢!
你不需要求助于屏幕抓取,MediaWiki 有一个非常全面的 API来处理这类事情。请参阅https://github.com/jpatokal/mediawiki-gateway以获取方便的 Ruby 包装器。
或者,如果您只对信息框之类的数据感兴趣,请参阅DBpedia以获取 Wikipedia 的数据库版本。
您可以使用另一个 gem:https ://github.com/kenpratt/wikipedia-client
这个 gem 似乎只得到了您搜索的第一个结果,但您可以查阅文档以确定。
关于内容,一旦你获得页面,gem 允许你访问文章、链接、图像等的不同内容。
使用 mechanize 和 nokogiri 来做到这一点。这是一个很好的备忘单:
http://www.e-tobi.net/blog/files/ruby-mechanize-cheat-sheet.pdf
Mechanize 是一个模拟网站调用的工具箱,nokogiri 是一个 html/xml 解析器。意识到这一点应该很简单。