Bing API 簡単リファレンス

便利に使っているBing APIですが、公式サイトの解説があっちこっちにとんでいて分かりにくいので、WebとImageに絞ってまとめてみました。 (さらに…)

Bing APIを使う

BingもGoogleやYahoo!と同様にAPIがあります。
IDを取得すれば、簡単に使うことができます。
使い方は次の通りです。 (さらに…)

Yahoo!の形態素解析をPHPで

Yahoo!の形態素解析をPHPで行うためのサンプルです。
アプリケーションIDは自分のものを使ってください。

関数

文章を与えると名詞や助詞などに分解して配列で返します。

function get_kaiseki($str){
    $service = "http://jlp.yahooapis.jp/MAService/V1/parse";
    $appid = "アプリケーションID";
    $sentence = urlencode($str);
    $url = $service . "?appid=" . $appid . "&sentence=" . $sentence;
    $xml = simplexml_load_file($url);
    $results = $xml->ma_result->word_list->word;
    $arrs = array();
    foreach($results as $result) {
        $temps["surface"] = $result->surface;//表示
        $temps["reading"] = $result->reading;//読み
        $temps["pos"] = $result->pos;//品詞
        $arrs[] = $temps;
    }
    return $arrs;
}

サンプル

上の関数を使ったサンプルです。
名詞だけを抽出して表示します。

$arrs = get_kaiseki("広島に投下された原爆の通称名でもあり、今後配慮して。");
$nouns = array();
foreach($arrs as $arr){
  if($arr["pos"] == "名詞"){
    $nouns[] = $arr["surface"];
  }
}
print implode(";", $nouns);

実行結果

広島;投下;原爆;通称;今後;配慮

WikipediaAPIを使ってみる

今、GoogleやYahoo!のAPIについて調べているのですが、その中でウィキペディアの検索結果を取得できるAPIがあることを知りました。

WikipediaAPI - ウィキペディア情報をサイトで利用できるAPI

5年も前からあるのですね。
どんな動きをするのか、サンプルを作って確認してみました。jQueryを使っています。 (さらに…)

Twitter APIを使い、JSON形式でツイートを取得

Twitter APIについて調べたので、メモ的に書いておきます。
URLとして「http://api.twitter.com/1/statuses/user_timeline/stabucky.json?count=1」を指定すると次のようにJSON形式で戻ってきます。
つまり直近1回分のツイートの内容を示しています。 (さらに…)

PHPでGoogle Image Search APIを使う

自分のウェブサイトにキーワードに関連した画像を貼り付けたいと思います。
Googleのイメージ検索(Google Image Search API)を使い、PHPで取得する方法を使います。

API Keyの取得

APIを使うには自分自身のKeyを取得する必要があります。
ここでは関係ないですが、このKeyは他の検索でも同じものを使うことができます。

URL

検索のためのURLを与えるとJSON形式で検索結果が戻ってきます。
基本的なURLは次の通りです。
vはバージョンです。今のところ1.0だそうです。
keyには自分のAPI Keyをセットします。
qには検索語をセットします。日本語のときはURLエンコードする必要があります。また「hl=ja」を付けるとよいでしょう。
具体的な使い方は後述します。 (さらに…)

Google APIを使うにはサインアップすればよい

Google APIを使うと、検索の仕組みを自分のサイトに簡単に組み込むことができます。
しかし、色々できるおかげでページも色々あって、とても分かりにくいです。
理屈抜きで、とにかく使ってみたいということであれば、次のページを開いてください。

http://code.google.com/intl/ja/apis/loader/signup.html

このページで自分のサイトのURLを入力し「Generate API Key」をクリックします。
すると、自分のキーが発行され、次のようなサンプルページ(のコード)が表示されます。
このサンプルページがないのが分かりにくさの原因だと思います。 (さらに…)

「東京電力の電気使用状況 API」を使う

東京電力から電力の使用状況が公開されましたが、これをJSON形式で扱えるAPIを公開しているサイトがありました。
東京電力の電気使用状況 API

これを試してみます。
JSON形式なのでJavaScriptで簡単に使うことができます。
データ例は次の通りです。

{"hours":[2990,2850,2770,2710,2700,2830,3100,3350],"capability":3850,"updated":"2011-03-25 08:05:00"}

hoursは午前0時から1時間毎の電力です。現時点までの情報が配列で得られます。単位は万キロワット。
capabilityは電力の最高限度です。
updatedは更新時刻です。

サンプル

サンプルは次の通りです。
なおJavaScriptの部分についてはjQueryを使っています。

HTML
<html>
<body>
<div id="main"></main>
</body>
</html>
JavaScript
var td = new Date();
var ymd = td.getFullYear() * 10000 + (td.getMonth() + 1) * 100 + td.getDate();
$.getJSON("http://denki.cuppat.net/data/" + ymd + ".json", function(json){
  $("#main").append("<p>" + td.getDate() + "日</p>");
  var hrs = json.hours;
  var cap = json.capability;
  var upd = json.updated;
  $("#main").append("<ul>");
  var temp;
  for(var i = 0 ; i < hrs.length ; i++){
    temp = i + "時 " + hrs[i] + "万kW (" + Math.floor(hrs[i] * 100 / cap) + "%)";
    $("#main ul").append("<li>" + temp + "</li>");
  }
  $("#main").append("<p>" + upd.replace(/.* (..):(..):.*/,"$1:$2 更新")+"</p>");
});

Google Chart APIとTeX

Google Chart APIは主にグラフの作成に使用されますが、複雑な数式を描画することもできます。
Mathematical Formulas - Infographics

パラメータとしてTeXの記法を使います。

https://chart.googleapis.com/chart?cht=tx&chl={TeXの記法}

例えば円の面積の公式は次の通りです。

これはTeXの記法では次の通りになります。

A=\pi r^2

これをパラメータとしてセットすればよいのですが、URLエンコードする必要があります。JavaScriptならば「encodeURIComponent」を使えば問題ないようです。

HTMLとしては次のように書きます。

https://chart.googleapis.com/chart?cht=tx&chl=A%3D%5Cpi%20r%5E2

TeXの使い方については次のページを参照ください。
You Look Too Cool » TeX入門 – TeXを使って数式を

PHPで「はてなハイク」へ投稿

PHPで、はてなハイクのボットを作ることにしました。
Twitterのボットは作ったことがあります。
しかし、はてなハイクと認証の方式が違います。Twitterの投稿はOAuth認証ですが、はてなハイクはベーシック認証です。

ネットで調べて見つけたのがこちらのページ。
はてブの WebHook を利用して PHP スクリプトではてなハイクに投稿するサンプル - カミクズヒロイ /bin
そのものズバリのサンプルが載っていたので、そのまま使わせていただきます。ありがとうございます。

サンプル

function haikuPost($st, $kw, $id, $pw, $src, $url){
  require_once 'HTTP/Request.php';
  $req = &new HTTP_Request();
  $req->setURL($url);
  $req->setBasicAuth($id, $pw);
  $req->setMethod(HTTP_REQUEST_METHOD_POST);
  $req->addPostData('keyword', $kw);
  $req->addPostData('status', $st);
  $req->addPostData('source', $src);
  $req->sendRequest();
  return $req->getResponseBody();
}

説明

  • $st
    投稿の本文です。
  • $kw
    キーワードです。はてなハイクは投稿の本文だけでなく、タイトルのようなキーワードを付けることができます。
    なお、この項目を省略し、投稿の本文を「キーワード=本文」とすることでもセットされるようです。
  • $id
    はてなハイクのユーザーIDです。
  • $pw
    はてなハイクのパスワードです。
    はてなハイク - APIで調べます。
  • $src
    クライアント名をセットします。実際ははてなハイクのキーワードを指定します。
  • $url
    「http://h.hatena.ne.jp/api/statuses/update.format」をセットします。「format」のところは「json」や「xml」をセットします。情報をどのように取得するかが問題になりますが、投稿の場合は帰ってくる情報はさほど重要ではないかもしれません。詳しい使い方ははてなハイク - APIで確認して下さい。

これらを適当にセットして次のとおり書けば投稿できます。

$result = haikuPost($st, $kw, $id, $pw, $src, $url);
echo $result;

補足

気になったのは「HTTP/Request.php」の部分。
「PEARのHTTP_Requestとやらをインストールしなければならない?」と思い、色々調べましたが、分かりません。
私はロリポップのレンタルサーバを使っているのですが、「ひょっとすると元からインストールされているのかも」と思い、試しに上のサンプルを実行したところ、投稿できてしまいました。

新しい記事 | 古い記事

タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報