我想通过 JSON 获得 Wikiquote 页面的结构化版本(基本上我需要所有短语)
示例: http://en.wikiquote.org/wiki/Fight_Club_(电影)
我试过:http ://en.wikiquote.org/w/api.php?format=xml&action=parse&page=Fight_Club_(film)&prop=text
但我得到了所有的 HTML 源代码。我需要每个短语作为数组的一个元素
我如何使用DBPEDIA实现这一目标?
我想通过 JSON 获得 Wikiquote 页面的结构化版本(基本上我需要所有短语)
示例: http://en.wikiquote.org/wiki/Fight_Club_(电影)
我试过:http ://en.wikiquote.org/w/api.php?format=xml&action=parse&page=Fight_Club_(film)&prop=text
但我得到了所有的 HTML 源代码。我需要每个短语作为数组的一个元素
我如何使用DBPEDIA实现这一目标?
一方面,我不确定您是否可以使用 DBpedia 查询 wiki 引用,其次,DBpedia 仅以结构化方式为您提供信息框数据,它绝不会以结构化方式提供文章内容。取而代之的是,您可以使用 Media wiki api 来获取数据
您正在尝试的 URI 为您提供了一个文本,因此这将使事情变得更容易,但并不完全。
在您的控制台中尝试这段代码:
require 'Nokogiri'
content = JSON.parse(open("http://en.wikiquote.org/w/api.php?format=json&action=parse&page=Fight_Club_%28film%29&prop=text").read)
data = content['parse']['text']['*']
xpath_data = Nokogiri::HTML data
xpath_data.xpath("//ul/li").map{|data_node| data_node.text}
这是我得出的最接近答案的答案,当然这并不完全正确,因为您会得到很多不必要的数据。但是,如果您深入研究Nokogiri
并xpath
找出如何精确定位您需要的节点,您可以获得一个解决方案,该解决方案将在至少 90% 的情况下为您提供正确的报价。
只需将格式更改为 JSON。查找 Wikipedia API 以获取更多详细信息。 http://en.wikiquote.org/w/api.php?format=json&action=parse&page=Fight_Club_(film)&prop=text