Kill one bird with two stones.

情報推薦、情報抽出を研究している大学院生の基本的にやったことのメモとか

nicoAPI nicoSearchAPIをPHPで書いてみた。

はてブ見てたらニコニコがAPI公開したようなので早速軽く作ってみた。
どうやらニコニコじゃなくてhttp://nicotools.com/:nicotoolsさんのようでした。
この記事のはてブのコメントを見て修正
@koizuka さんありがとうございます

APIの詳細はこちらnicoAPI

はてブのコメントはてなブックマーク - nicoAPI
@YaSuYuKiさんのコメントによると大百科検索?


いまいち、何の情報を返しているかわからないけど、一応作ってみた。

plain txt,json,xmlのどれか指定して返却されるけどxmlで。

パース部分は一応タイトルだけ出しとけばいい感じにしといた。
他必要なとこがあれば自分で改良すべき。

<?php
/*
 * nikosearchapiに投げて結果持ってくるサンプル
 * http://nicoapi.com/docs/nicosearchapi.html
 * 
 * @author shirohare http://d.hatena.ne.jp/shirohare777/
 * @since 2012/10/24
 * 
 */
$api = 'http://nicoapi.com/ns/suggest.';
//検索対象のクエリ
$query="ニコニコ";
//取得したい最大件数(ただし、100件まで)
$max_data_numer=10;
//検索条件
$condition="contain";

//返却のフォーマット
$mode="xml";

$api_url=$api.$mode;

$ch=curl_init($api_url);

$params = array(
		'i' => $query,
		'l'=>$max_data_numer,
		'm'=>$condition
);


curl_setopt_array($ch, array(
		CURLOPT_POST           => true,
		CURLOPT_RETURNTRANSFER => true,
		CURLOPT_POSTFIELDS     => http_build_query($params)
));

$result = curl_exec($ch);
curl_close($ch);


$xml=simplexml_load_string($result);
$array_result=array();

//dump用
var_dump($xml);

foreach($xml as $key){
	echo $key->title."<br>";
}
?>

こういうデータをいろいろ使いたい人間としては、
公式でデータを出してほしいなぁと思いつつ