PHPでYahooAPIを使ってみる!サンプルコード

PHPでYahooAPIを使ってみます!

まずはYahoo知恵袋APIから質問本文とベストアンサーを取得するPHPサンプルコードです!

スポンサーリンク

Yahoo知恵袋APIから質問本文とベストアンサーを取得する

<?php
function get_yahoo_api_chiebukuro($query){
	//$queryは検索キーワードです。
	//Yahoo知恵袋APIから質問本文とベストアンサーを取得します。

	$appid='ごにょごにょごにょ'; //appidはyahooAPIに登録すれば無料でもらえます。

	header('Content-type:text/html;charset=UTF-8');
	$xml_file='http://chiebukuro.yahooapis.jp/Chiebukuro/V1/questionSearch?appid='.$appid.'&query=' . $query;
	$xml=simplexml_load_file($xml_file,'SimpleXMLElement', LIBXML_NOCDATA);

	//$xmlにYahoo知恵袋APIから取得した情報が格納されています。
	return $xml;
}

$query="API 使い方";
$yapi_xml=get_yahoo_api_chiebukuro($query);

if(!empty($yapi_xml->Result->Question[0]->Content)){
  foreach($yapi_xml->Result->Question as $question){
	echo '<p class="yahoo-api-q">Q:'.$question->Content.'</p>';
	echo '<p class="yahoo-api-a">A:'.$question->BestAnswer.'</p>';
  }
}
?>

Yahoo知恵袋APIから質問本文とベストアンサーを取得する2

下記のようなコードでもOKです。こっちの方が汎用性が高くてオススメです。

//自作エリア
function get_yahoo_api_chiebukuro($api , $appid , $params){
/***********************************************************
*	Yahoo知恵袋APIから質問本文とベストアンサーを取得します。
*	$api = 'ここにはyahooAPIのリクエストURLが入ります';
*	$appid = 'ここにはyahooAPIのアプリケーションIDが入ります'; 
*	$paramsは下記のような配列です。
*	queryは必須ですが、他は指定しなくても利用可能です。
*	$params = array(
*		'query'=>'ここには検索キーワードが入ります' ,
*		 'categoryid' => 'ここにはカテゴリIDが入ります' ,
*		 'condition' => 'ここには質問の状態が入ります(all , open ,vote , solvedのいずれか)',
*		 'type' => 'ここには検索方法が入ります(all , any , phraseのいずれか)',
*		);
************************************************************/	



	$xml_file =  "${api}?appid=${appid}&query=${params["query"]}&condition=${params["condition"]}&type=${params["type"]}&results=${params["results"]}&categoryid=${params["categoryid"]}";

	$xml=simplexml_load_file($xml_file,'SimpleXMLElement', LIBXML_NOCDATA);

	//$xmlにYahoo知恵袋APIから取得した情報が格納されています。
	return $xml;
}

ワードプレスで利用する場合には、functions.phpに上記をコピペします。

single.phpやcategory.php…etcに、以下のように書くと利用できます。

<?php
$api = 'http://chiebukuro.yahooapis.jp/Chiebukuro/V1/questionSearch';
$appid = 'YahooAPIのアプリケーションIDが入ります';
$params = array(
		'query' => 'API 使い方'
	);


$yapi_xml=get_yahoo_api_chiebukuro($api , $appid , $params);

if(!empty($yapi_xml->Result->Question[0]->Content)){
  foreach($yapi_xml->Result->Question as $question){
	echo '<p class="yahoo-api-q">Q:'.$question->Content.'</p>';
	echo '<p class="yahoo-api-a">A:'.$question->BestAnswer.'</p>';
  }
}
?>

キーフレーズ(キーワード)を抽出するAPI

Yahooのキーワード抽出APIを利用するとこんなことができます。

//自作エリア
function get_yahoo_api_extract($api , $appid , $params){
/***********************************************************
*	Yahoo知恵袋APIから質問本文とベストアンサーを取得します。
*	$api = 'ここにはyahooAPIのリクエストURLが入ります';
*	$appid = 'ここにはyahooAPIのアプリケーションIDが入ります'; 
*	$paramsは下記のような配列です。
*	sentenceは必須ですが、他は指定しなくても利用可能です。
*	$params = array(
*		'sentence'=>'ここにはキーワードを抽出したい文章が入ります' ,
*		 'output' => 'ここにはxml,jsonなどのレスポンスの形式を入力します' 
*		);
************************************************************/	
 
 
 
	$xml_file =  "${api}?appid=${appid}&query=${params["query"]}&sentence=${params["sentence"]}";
 
	$xml=simplexml_load_file($xml_file,'SimpleXMLElement', LIBXML_NOCDATA);

	//$xmlにYahooキーフレーズ抽出APIから取得した情報が格納されています。
	return $xml;
}
<?php
$api = 'http://jlp.yahooapis.jp/KeyphraseService/V1/extract';
$appid = 'YahooAPIのアプリケーションIDが入ります';
$params=array(
  'sentence' => "抽出したいコンテンツをここに入れてみてください。キーワードが抽出できます。"
);
 
 
$yapi_xml=get_yahoo_api_extract($api , $appid , $params);
 
if(!empty($yapi_xml->Result[0]->Keyphrase)){
  echo '
    '; foreach($yapi_xml->Result as $res){ echo '<li>'.$res->Keyphrase.'</li>'; } echo '
'; } ?>

コメント

お知らせ

羽織紐を手作りしてます!よろしければご覧ください!
  • 天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
    天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
  • 天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
    天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
  • 天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー
    天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー

お知らせ

羽織紐を手作りしてます!よろしければご覧ください!
  • 天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
    天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
  • 天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
    天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
  • 天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー
    天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー
タイトルとURLをコピーしました