我希望通過JSON(基本上我所需要的所有短語)Wiki引用API?
例獲得維基語錄頁面的結構化版本: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?
我希望通過JSON(基本上我所需要的所有短語)Wiki引用API?
例獲得維基語錄頁面的結構化版本: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?
一方面蔭不知道你是否可以使用DBpedia中二查詢維基報價,DBpedia中只給你一個結構化的方式信息框的數據,它不以任何方式在文章內容結構化方式。相反,隨着一點點麻煩,你可以使用媒體維基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即可。查看維基百科API以獲取更多詳細信息。 http://en.wikiquote.org/w/api.php?format=json&action=parse&page=Fight_Club_(film)&prop=text
雖然返回的響應結構爲JSON對象,但有趣的數據在包含巨大HTML字符串的單個字段中保持非結構化。 –
太棒了!如果我想要獲得html /純文本而不是wikitext? – sparkle
嘿,給我一秒鐘。虐待編輯我的答案。 – djd