Wikipedia APIとPHPでコンテンツ作成

9536 回閲覧 このエントリーをはてなブックマークする この記事のブックマークユーザー 永続的リンク2008/05/04 15:10:25 カテゴリ: PHP, 自分用メモ
スポンサード リンク

wikipedia

地域ホームページのコンテンツ追加ということでWikipediaのAPIを利用する。

  • 本家の「Wikipedia API」を利用して中津川市のデータをXMLで取得する。XMLを取得するURLはこちら
  • Wikipedia:データベースダウロード
  • 簡単に利用する方法としては、SimpleAPI vol.3 - Wikipedia API があるが、思ったようなデータが取得できないので今回は利用しない。
  • 取得できるXMLのデータはWiki記法のためHTML形式へ変換する必要がある
  • PEARのText_Wiki_Mediawikiを利用すると簡単に利用できるっぽい

xmlの取得

ユーザーエージェントを指定しないと取得できない。

$context = stream_context_create(array('http' => array(
'method' => 'GET',
'header' => 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
)));
$url = "http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:Export/%E4%B8%AD%E6%B4%A5%E5%B7%9D%E5%B8%82";
$data = file_get_contents($url, false, $context);

wiki記述をHTMLへ変換

取得できるデータがwiki記法のためHTML形式に変換する。
PEARのText_Wiki_Mediawikiをつかって変換する。


Text_Wiki_Mediawikiをインストール

参考)MediaWiki記法で記述されたテキストをHTMLに変換する(PEAR Text_Wiki_Mediawiki)

# pear install Text_Wiki_Mediawiki-alpha


で、実際に変換してみる。

$xml = new SimpleXMLElement($data);

require_once("Text/Wiki/Mediawiki.php");
$wiki=new Text_Wiki_Mediawiki();

// Configuration
$wiki->deleteRule( 'Wikilink' ); // remove a rule for auto-linking
$wiki->setFormatConf( 'Xhtml' , 'translate' , false ) ; // remove HTML_ENTITIES

echo $wiki->transform($xml->page[0]->revision[0]->text,'xhtml');


これでできると思ったらうまくいかない・・。
んー・・・・。

ちょっと時間がかかりそうなので、また今度。。。

参考サイト

その他関連







 →ツイッターのフォローはこちら
スポンサード リンク
         

関連記事

↑ページ上部へ

アクセスカウンター

今日 : 1 昨日 : 4

ブログ内容

主にウェブ関係のことを書いてます。たまにブレイクダンスとか他のことも書いています。

プロフィール

MICK

MICKです。

1983年1月24日生まれ。ウェブの世界にいるのは、偶然のようで必然なのかも。

好きなこと :
 挑戦すること。物事に没頭すること。勉強すること。
嫌いなこと :
 自慢話を聞くこと。人の悪口を言うこと。

運営サイト

      

カテゴリ一覧

サイト広告

オススメの書籍とか

感想

紹介

色々

最近のコメント

最新記事

注目記事

人気記事

最近の人気記事

人気の記事

関連サイト

運営サイト

色々

最近のトラックバック