質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

2回答

1756閲覧

wikipediaAPIについて データの持たせ方

whxtna

総合スコア57

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2016/04/12 08:15

wikipediaAPIについて質問させてください。

// キーワード指定(サンプル)
$keyword = "ウド鈴木";
// APIのURL
$url = "http://wikipedia.simpleapi.net/api?keyword=".urlencode($keyword)."&output=php";
// データを取得
$data = file_get_contents($url);
// PHPシリアライズパーサーを利用して解析し、配列に入れる
$array = unserialize($data);

var_dump($array);

結果

array(1) {
[0]=>
array(9) {
["language"]=>
string(2) "ja"
["id"]=>
string(5) "68033"
["url"]=>
string(40) "http://wikipedia.simpleapi.net/ja/68033/"
["title"]=>
string(12) "ウド鈴木"
["body"]=>
string(607) " 名前 ウド鈴木<br/> キャプション <br/> 本名 鈴木 任紀(すずき ひでき)<br/> ニックネーム ウドちゃん<br/> 没年月日 <br/> 出身地 山形県東田川郡藤島町(現鶴岡市)<br/> 血液型 ABO式血液型 AB型<br/> 身長 178.5cm<br/> 方言 標準語<br/> 最終学歴 山形県立庄内農業高等学校<br/> 師匠 <br/> 出身 YANKEE STADIUM 20xx TEAM童里夢<br/> コンビ名 キャイ~ン<br/> トリオ名 <br/> グループ名 <br/> 相方 天野ひろゆき<br/> 芸風 漫才・コント(ボケ)<br/> 立ち位置 左<br/>"
["length"]=>
int(7868)
["redirect"]=>
int(0)
["strict"]=>
string(1) "1"
["datetime"]=>
string(25) "2006-09-24T10:15:42+09:00"
}
}

上記のようにデータとして取ってこれるのですが、
body内データを
['名前']=>"ウド鈴木",['本名']=>"鈴木 任紀(すずき ひでき)"等の持たせ方をしたいのですが、
wikipediaAPIのデータの取り方が他にあったり、
何かしらいい方法はないでしょうか??

伝わりにくい質問とは思いますが、
ご回答お待ちしております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

私はbodyから更に正規表現で抽出しています。
編集者によっては表現にムラがあり、なかなか修正するのが大変ですが^^;

投稿2016/04/12 08:26

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

whxtna

2016/04/12 09:04

ご回答ありがとうございます! 重ねてご質問になりますが、 元の質問内容にあります、dump結果以外のデータを取ってくることはかのうなのでしょうか?? 例えば、 ウドさんであればwikipedia上の大目次の"エピソード"や"出演作品"などですね。
whxtna

2016/04/13 02:19

ご回答ありがとうございます! いろいろと試してみます!!
guest

0

ベストアンサー

そういうデータ抽出をしやすくするために、WikiDataというプロジェクトが進行中で、たとえばウド鈴木の場合はこれだけのデータが結び付けられています

とはいえ、まだまだデータ整備は追いついていないような状況ですので、出来上がったHTML、あるいはウィキテキストを見て、「求めるデータはどうすれば得られるのか」自分で考えて適宜コードを書くほかない場面も多々あります。

なお、サードパーティーのAPI以外にも、MediaWikiが公式にAPIを用意していて自分でパラメータを指定してテストできるページもあります。

投稿2016/04/12 08:22

編集2016/04/12 08:30
maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

whxtna

2016/04/12 09:04

ご回答ありがとうございます! 重ねてご質問になりますが、 元の質問内容にあります、dump結果以外のデータを取ってくることはかのうなのでしょうか?? 例えば、 ウドさんであればwikipedia上の大目次の"エピソード"や"出演作品"などですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問