2010年04月24日

マッシュアップWebAPI例題:SimpleWikipediaAPI


マッシュアップということで、Wikipediaの内容を引いてくるSimpleAPIしリースのSimpleWikipediaAPIを試してみた。

SimpleWikipediaEX001.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
  <title>Wikipedia APIサンプル</title>
</head>
<body>
<h1>Wikipedia情報</h1>
<form action="" method="get">
  <input type="text" name="keyword" size="20" />
  <input type="submit" value="送信" />
</form>
<?php
/*
 base code from http://okwave.jp/qa/q5204300.html
 & PHP Super sample 2
*/

//表示文字コード
//$enc_disp = "SJIS";
$enc_disp = "EUC-JP";
//$enc_disp = "utf-8";

//データ文字コード
//$disp_enc = "EUC-JP"; //"SJIS";
//$enc_db = "SJIS";
$enc_db = "utf-8";

//データの文字コードを変換する関数
function cnv_enc($string, $to, $from) {
  //文字コードを変換
  $det_enc = mb_detect_encoding($string, $from . ", " . $to);
  if ($det_enc and $det_enc != $to) {
    return mb_convert_encoding($string, $to, $det_enc);
  } else {
    return $string;
  }
}

// キーワード指定
//$keyword = "多田富雄";
$keyword = $_GET['keyword'];
$keyword = cnv_enc($keyword,$enc_db,$enc_disp); // EUC-JP to utf-8

// APIのURL
$url = "http://wikipedia.simpleapi.net/api?keyword=".urlencode($keyword)."&output=php";

// データを取得
$data = file_get_contents($url) ;

// PHPシリアライズパーサーを利用して解析し、配列に入れる
$array = unserialize($data);

// 配列をforeachで表示するデモ
foreach ($array as $key => $value) {
  print "<a href=\"".$value[url]."\"><strong>".cnv_enc($value[title],$enc_disp,$enc_db)
    ."</strong></a>\n<br/>".cnv_enc( $value[body],$enc_disp,$enc_db) ."<hr/>\n\n";
}
?>
</body>
</html>
なぜかatpagesのPHP環境ではforeachのwarningを抑制できない。

■以前購入して放置していた「Web API実践リファレンスブック」のサンプルプログラムはそのままでは使えないものが多く、あまり役に立たない。古いからというわけではない。
総花的で深みがないのだ。




倉鉢徹のサイエンス館トップ

人気ブログランキングへ
人気ブログランキングへ
ブログランキング・にほんブログ村へblogram投票ボタン


ランキングはこちらをクリック!
posted by kurapat at 16:04| Comment(0) | TrackBack(0) | Webノウハウなど | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
キャッシング
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。