彼らの API を見てみると、詳細がたくさんあるように見えますが、その複雑さがハードルになっています。長期的な使用のためには、それを理解するのが最善ですが、迅速かつ汚いために、ここにデータを取得する方法があります.
XML/HTML パーサーであり、非常に柔軟なNokogiriを使用しています。使いやすさのために、CSS アクセサーを使用しています。
#!/usr/bin/env ruby
require 'open-uri'
require 'nokogiri'
require 'uri'
URL = 'http://en.wikipedia.org/wiki/Ford_Motor_Company'
doc = Nokogiri::HTML(open(URL))
infobox = doc.at('table[class="infobox vcard"]')
infobox_caption = infobox.at('caption').text
uri = URI.parse(URL)
infobox_agents = Hash[ *infobox.search('td.agent a').map{ |a| [ a.text, uri.merge(a['href']).to_s ] }.flatten ]
require 'ap'
ap infobox_caption
ap infobox_agents
出力は次のようになります。
"Ford Motor Company"
{
"Henry Ford" => "http://en.wikipedia.org/wiki/Henry_Ford",
"William C. Ford, Jr." => "http://en.wikipedia.org/wiki/William_Clay_Ford,_Jr.",
"Executive Chairman" => "http://en.wikipedia.org/wiki/Chairman",
"Alan R. Mulally" => "http://en.wikipedia.org/wiki/Alan_Mulally",
"President" => "http://en.wikipedia.org/wiki/President",
"CEO" => "http://en.wikipedia.org/wiki/Chief_executive_officer"
}
そのため、キャプションのテキストが取得され、人々の名前のハッシュが返されます。キーは名前で、値は URL です。