ruby – Wiki引用API?
发布时间:2020-12-17 03:15:28 所属栏目:百科 来源:网络整理
导读:我想通过 JSON获取Wikiquote页面的结构化版本(基本上我需要所有短语) 示例:http://en.wikiquote.org/wiki/Fight_Club_(film) 我尝试过:http://en.wikiquote.org/w/api.php?format=xmlaction=parsepage=Fight_Club_(film)prop=text 但是我得到了所有的HTML
我想通过
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作为Array的元素 我怎么能用DBPEDIA实现这个目标? 解决方法
首先,我不确定您是否可以使用DBpedia查询维基报价;其次,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%的时间 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |