Wikipedia API(検索&パース)のサンプル

 Wikipedia API(検索&パース)を先日公開したけど、やはり具体的な利用例がないと使い方がわからないだろう。

 そこで、PHPによる簡単な利用サンプルを作成した。

 PHP 5.0以降には、XMLを簡単に取り扱える「SimpleXML」という、非常に優れた仕組みがある。

 ファイル、もしくはURLからXML文書を読み込んで、PHPのオブジェクトに変換してくれる。

 一度、変換してしまえば、オブジェクトや配列を扱うのと変わらない感覚と手順で操作できる優れものだ。(参考:PHPでのSimpleXMl処理

 これを使えば、数行から数十行でXMLの処理が書けてしまう。

 以下が、今回のサンプルの画面。

検索結果リストの処理。
screenshot_02.jpg

詳細ページの処理
screenshot_03.jpg

【解説】

(1) 検索結果XML処理の実際

Wikipedia検索&パースAPIで、検索を行うと、以下のように検索結果一覧のXMLが返ってくる。

<?xml version="1.0" encoding="utf-8"?>
<wikipedia>
<items>
<item>
<title>水樹奈々</title>
<link>http://localhost/~tomoyun/wpsearch/index.php?id=45275&amp;title=%E6%B0%B4%E6%A8%B9%E5%A5%88%E3%80%85&amp;type=xml</link>
<fullsize>http://localhost/~tomoyun/wpsearch/index.php?id=45275&amp;title=%E6%B0%B4%E6%A8%B9%E5%A5%88%E3%80%85&amp;type=xml&amp;size=full</fullsize>
</item>
<item>
<title>水樹奈々_スマイル・ギャング</title>
<link>http://localhost/~tomoyun/wpsearch/index.php?id=399281&amp;title=%E6%B0%B4%E6%A8%B9%E5%A5%88%E3%80%85_%E3%82%B9%E3%83%9E%E3%82%A4%E3%83%AB%E3%83%BB%E3%82%AE%E3%83%A3%E3%83%B3%E3%82%B0&amp;type=xml</link>
<fullsize>http://localhost/~tomoyun/wpsearch/index.php?id=399281&amp;title=%E6%B0%B4%E6%A8%B9%E5%A5%88%E3%80%85_%E3%82%B9%E3%83%9E%E3%82%A4%E3%83%AB%E3%83%BB%E3%82%AE%E3%83%A3%E3%83%B3%E3%82%B0&amp;type=xml&amp;size=full</fullsize>
</item>
<item>
<title>水樹奈々の楽曲</title>
<link>http://localhost/~tomoyun/wpsearch/index.php?id=1575110&amp;title=%E6%B0%B4%E6%A8%B9%E5%A5%88%E3%80%85%E3%81%AE%E6%A5%BD%E6%9B%B2&amp;type=xml</link>
<fullsize>http://localhost/~tomoyun/wpsearch/index.php?id=1575110&amp;title=%E6%B0%B4%E6%A8%B9%E5%A5%88%E3%80%85%E3%81%AE%E6%A5%BD%E6%9B%B2&amp;type=xml&amp;size=full</fullsize>
</item>
<item>
<title>水樹奈々のアルバム</title>
<link>http://localhost/~tomoyun/wpsearch/index.php?id=1575128&amp;title=%E6%B0%B4%E6%A8%B9%E5%A5%88%E3%80%85%E3%81%AE%E3%82%A2%E3%83%AB%E3%83%90%E3%83%A0&amp;type=xml</link>
<fullsize>http://localhost/~tomoyun/wpsearch/index.php?id=1575128&amp;title=%E6%B0%B4%E6%A8%B9%E5%A5%88%E3%80%85%E3%81%AE%E3%82%A2%E3%83%AB%E3%83%90%E3%83%A0&amp;type=xml&amp;size=full</fullsize>
</item>
</items>
</wikipedia>

これをPHPのSimpleXMLで処理するには、以下のようにする(変数$urlには、Wikipdia検索&パースAPIのURLと検索パラメータが入っていると仮定する)。
   $xml = simplexml_load_file($url);
foreach($xml->items->item as $item) {
$title = $item->title;
$link = $item->link;
}

これで取得できた「$link」が、詳細ページのURLだ。


(2) 詳細ページXML処理の実際

上記の(1)で取得したリンクの詳細ページにアクセスすると、下記のようなXMLが返ってくる。


<?xml version="1.0" encoding="utf-8"?>
<wikipedia> 
<infos> 
<info> 
<title>声優</title>
<data>
<ふりがな>みずき なな</ふりがな> 
<名前>水樹 奈々</名前>
<本名>近藤 奈々
(こんどう なな)</本名>
<愛称>奈々ちゃん</愛称>
<出生地>日本・愛媛県新居浜市</出生地> 
<血液型>O型</血液型>
 <生年>1980</生年>
 <生月>1</生月>
 <生日>21</生日>
 <所属>シグマ・セブン</所属>
 <活動時期>1998年 -</活動時期>
 <デビュー作>門倉千紗都(NOëL 〜La neige〜)</デビュー作> 
</data>
 </info>
 </infos>
 <lead>水樹 奈々(みずき なな、1980年1月21日 - )は、愛媛県新居浜市出身の女性声優、歌手。</lead> 
</wikipedia>

これを処理するPHPのコードは以下の通り。
   $xml = simplexml_load_file($url);
$lead = $xml->lead;
echo $lead."\n"; // リード文
foreach($xml->infos->info as $info) {
foreach($info->data->children() as $name=>$value) {
echo $name."\n"; //要素(タグ)名
echo $value."\n"; //要素値
}
}

サンプルプログラムのソースは、「Wikipedia検索&パースAPI」のver.1.1以降のアーカイブに含まれている。
Wikipedia検索&パースAPIのページからダウンロードしてください。

Wikipedia検索&パースAPIページ
Wikipedia検索&パースAPI利用サンプルページ 






関連記事

投稿者:

ともゆき@zubapita

ともゆき@zubapita

作ったモノ 雑誌:月刊アスキー(デスク)、アスキー.PC(副編集長)、インターネットアスキー(編集長)、アスキーPCエクスプローラー(編集長) Webサイト:東京グルメ/ライブドアグルメ、映画を語ろう、本が好き 著書:「Twitter 使いこなし術」「facebook 使いこなし術」 最近は、株式会社ブックウォーカーにて、「BWインディーズ」をやってます。

“Wikipedia API(検索&パース)のサンプル” への2件のフィードバック

  1. HIRAさん

    ご丁寧にありがとうございます。

    なにか作例ができたら、教えてください。

    こちらのブログなどで、紹介させていただきます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>