我想通过JSON获取Wikiquote页面的结构化版本(基本上我需要所有短语)
示例: http://en.wikiquote.org/wiki/Fight_Club_(film)
我尝试过:http://en.wikiquote.org/w/api.php?format=xml&action=parse&page=Fight_Club_(film)&prop=text
但是我得到了所有HTML源代码。我需要每个pharse作为数组的元素
我怎样才能通过 DBPEDIA 实现这一目标?
答案 0 :(得分:4)
有一件事我不确定你是否可以使用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%的时间
答案 1 :(得分:1)
只需将格式更改为JSON即可。查看Wikipedia API以获取更多详细信息。 http://en.wikiquote.org/w/api.php?format=json&action=parse&page=Fight_Club_(film)&prop=text