加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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%的时间

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读