スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHPでJSONのParse (Wikipedia編)

ランダムな単語が欲しい時にwikipadiaのAPIから取ってくるという方法がある。
wikipediaの記事は1つ1つにページIDというのが付いているので、ランダムな数値を生成してそれをページIDとして記事を呼び出し、その記事のタイトルをとってきてやればいい。

wikipadiaから例えばページID1800のデータを取ってくるとこうなる。
http://ja.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=json&pageids=1800

phpでやるとすると下記のような感じ。


$pageid = rand(10,98000);
$data = file_get_contents($wiki_url . $pageid);
$parse_data = json_decode($data,true);
print $parse_data['query']['pages'][$pageid]['title'];


と、超簡単。
randは乱数を取ってくる関数で、10-98000の範囲を指定。どうやら98000ページはありそうなのでとりあえずこの範囲に。
一番注意が必要なのはjson_decode()の第二引数にtrueを忘れないこと。
phpでは配列の添字に数値を使えないようだが、ページIDは数値で指定されているため、

$parse_data -> query -> pageid -> 1800 -> title

のようにやるとエラーが出てしまう。

※追記 2014.12.22
下記のようにすればOKとコメントを頂きました!ありがとうございました!
$parse_data -> query -> pageid -> {1800} -> title

コメント

$parse_data -> query -> pageid -> {1800} -> title
のように書けばエラーは出ませんよ( ^ ^ )/

Re: タイトルなし

なるほど、そういう書き方があるんですね!勉強になりました!
本文も訂正させていただきます!

お役に立てて良かったです!
もう1つ、APIではないのですが
以下のリンクにアクセスするとWikipediaの記事をランダムに表示するサービスがあるので
何かの参考になれば!
http://ja.wikipedia.org/wiki/Special:Randompage

Re: タイトルなし

ありがとうございます!
面白そうですね!さわってみます!

コメントの投稿

非公開コメント

PR

PR

プロフィール

何でも書くman

Author:何でも書くman
思ったことや備忘録など、とりあえずなんでも書きます。IT系のことや趣味、生活に関わることなども。

ページの先頭へ戻る
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。