前回 は,サイトへのアクセス数統計を行うWebサービスGoogle Analyticsをご紹介しました。 今回はウェブサイトのフロント側に戻って,データベース検索系のAPIとして じゃらんWebサービス を使用したホテル・宿情報の検索処理を行います。 例えば,特に地域を限定したサイト等では,一つの有効なコンテンツ要素として利用できそうです。

じゃらんWebサービス

 じゃらんWebサービスはリクルート社の提供するWebサービスで,2006年6月に公開されました。 今回は,じゃらんWebサービスの四つのAPIの中から じゃらん宿表示APIアドバンス を利用します。

表1:じゃらんWebサービスの提供するAPI

API名内容
じゃらん宿表示APIアドバンスじゃらんnetの宿泊施設を検索
じゃらん宿表示APIライト同上(ライト版)
エリア検索API独自仕様のエリアコード,エリア名を検索
温泉検索APIエリアごとの温泉コード,温泉名を検索

 じゃらんWebサービスの各APIを利用するには,APIキーの取得が必要です。 アカウント登録してログインすると,アカウント管理画面にAPIキーが表示されます。 APIを利用するプログラムにこの14桁のキーを埋め込んでおくことで, アカウントが識別されます。

図1:アカウント管理画面でAPIキーを取得

 APIキーを取得したら,早速,試しにAPIを呼び出して検索を実行してみましょう。 ブラウザのアドレス欄に以下のURLを入力します。 (ただし,末尾の xxxxxxxxxxxxxx の部分は自分のAPIキーに差し替えてください)

リスト1:APIを呼び出すURL例(APIキーは差し替える)
http://jws.jalan.net/APIAdvance/HotelSearch/V1/?s_area=136202&count=5&key=xxxxxxxxxxxxxx

 じゃらん Web サービスは,いわゆる REST ベースの API です。 API サーバーに & 区切りで検索クエリーを渡すと, 以下のような XML 形式で検索結果が返る使用です。 (POX: Plain Old XML)

リスト2:APIレスポンス例(サンプル)
<?xml version="1.0" encoding="UTF-8"?>
<Results xmlns="jws">
    <NumberOfResults>14</NumberOfResults>
    <DisplayPerPage>5</DisplayPerPage>
    <DisplayFrom>1</DisplayFrom>
    <APIVersion>1.1</APIVersion>
    <Hotel>
        <HotelID>993626</HotelID>
        <HotelName>銀座ホテルG8</HotelName>
        <PostCode>104-0081</PostCode>
        <HotelAddress>東京都中央区銀座8-4-17</HotelAddress>
        <Area>
            <Region>首都圏</Region>
            <Prefecture>東京都</Prefecture>
            <LargeArea>銀座・日本橋・東京駅周辺</LargeArea>
            <SmallArea>銀座・晴海・築地</SmallArea>
        </Area>
        <HotelType>ホテル</HotelType>
            (中略)
        <CheckInTime>13:00</CheckInTime>
        <CheckOutTime>11:00</CheckOutTime>
        <X>503133882</X>
        <Y>128406740</Y>
        <LastUpdate day="15" month="12" year="2006"/>
    </Hotel>
</Results>

 ここでは,小エリアコード=136202(銀座・晴海・築地)の宿泊施設を検索しています。 複数の宿泊施設がヒットすれば,<DisplayPerPage> の値の数だけ <Hotel> 要素が繰り返されます。 REST ベースの API のため,このように簡単な動作確認であればプログラムを組まなくても API を試用できます。 API の動作を確認したら,続けて Perl プログラムからも API にアクセスしてみましょう。