6

JSON 経由でウィキクォート ページの構造化バージョンを取得したい (基本的にはすべてのフレーズが必要)

例: 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でそれを達成できますか?

http://f.cl.ly/items/2v3w1U2c0J0z1M0V0k0b/Schermata%2012-2456269%20alle%2013.06.24.png

4

2 に答える 2

4

1 つには、DBpedia を使用してウィキの引用を照会できるかどうかわかりません。2 つ目に、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}

これは私が答えに最も近いものです。もちろん、これは完全に正しいわけではありません。不要なデータが大量に得られるからです。しかし、掘り下げてNokogirixpath必要なノードを特定する方法を見つければ、少なくとも 90% の確率で正しい見積もりを提供するソリューションを得ることができます。

于 2012-12-07T12:48:30.867 に答える
1

形式を JSON に変更するだけです。詳細については、ウィキペディア API を参照してください。 http://en.wikiquote.org/w/api.php?format=json&action=parse&page=Fight_Club_(映画)&prop=text

于 2015-05-25T20:42:12.263 に答える