したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

研究日誌

100管理人:2014/01/21(火) 07:45:45
【共通】ヤフートピックス

これもネットでたまたま見かけたので試してみました。

ヤフーではトピックスや知恵袋などを検索できるAPIを公開しています。

APIといってもいろいろな種類があるのですが、トピックス用で公開
されているのは以下です。

【ヤフー・デベロッパーネットワークトップ トピックスAPI】
http://developer.yahoo.co.jp/webapi/news/news/v2/topics.html

特定のURLを送信すると検索結果がXML形式で返信されるもので
前に書いた週間天気予報をXMLで取得するのと似たようなものです。

ヤフーのAPIの利用は申し込みが必要ですがヤフーIDを持っている人で
あれば無料で簡単に申し込みできます。

APIの申し込みをして早速テストプログラムを作り始めました。

週間天気予報みたいに簡単にできるかなと思っていましたがちょっと
苦戦してなんとかできました。

週間天気予報のテストプログラムでは単純にgraburl命令でURLを送信
して、結果を取得して編集するだけでできました。

トピックスAPIの場合、いきなり先頭で躓きました。
プログラムの中で以下のgraburl命令でURLを送信して試しましたが、

graburl aaa$,"http://news.yahooapis.jp/NewsWebService/V2/topics?appid=(xxxx)&query=都知事"

しかし、結果は、internal server errorしか返ってきません。

原因調査のためbrowse命令で同じURLを送信して標準ブラウザーで
結果を試しました

browse "http://news.yahooapis.jp/NewsWebService/V2/topics?appid=(xxxx)&query=都知事"

こちら、正しく検索結果がXMLで返信されました。

これで原因が検索文字列(query)の日本語にあることがはっきりしました。

graburl命令の場合、日本語の文字列があってもURLエンコードされずに
そのまま送信されますが、browse命令の場合、標準ブラウザーの機能で
URLエンコードされて送信されます。

このため、browse命令ではエラーにならないことがわかりました。

しかし、検索結果のXMLをBASIC!のプログラムで処理するには、
graburl命令でエンコードした日本語文字列を送信する必要があります。

その為のテストプログラムと、実行結果のファイルのリンクが以下です。

【テストプログラムと画面と結果のファイル】
https://db.tt/Hmx0Nkv6

ちょっと長くなったので、続きは次回書こうと思います。



2chMate 0.8.6/unknown/L01A/4.0.3/LT


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板