検索 - Yahoo! 検索 Web サービス

 

Yahoo!検索Webサービス へ RESTリクエストするサンプルを作成しました。

Yahoo!検索Webサービスへのリクエスト方式は REST のみとなっており、SOAP はサポートされていません。

Yahoo!検索Webサービスの利用制限は以前よりも緩和されて、 5,000リクエスト/日以内 から 50,000リクエスト/日以内 に引き上げられています。

サンプルを動かすには、 アプリケーションIDを登録 する必要があります。

ソースコード

コマンドラインオプション -k で検索キーワードを受け取って、 これを元にして Yahoo! に RESTリクエストします。 Yahoo! から返された XML からは、ヒットしたページのタイトルだけを取り出して表示します。

パラメータ appid には、開発者が個別に登録したアプリケーションIDを設定します。

yahoo_rest.rb
#!/usr/bin/ruby -Ku

require "net/http"
require "rexml/document"
require "optparse"
require "cgi"

Net::HTTP.version_1_2

opt = OptionParser.new

opt.on("-k keyword") { |keyword|

    Net::HTTP.start("api.search.yahoo.co.jp", 80) { |http|

        path =  "/WebSearchService/V1/webSearch",
                "?appid=foo.qux",                   # アプリケーションID
                "&query=#{CGI.escape(keyword)}"     # 検索キーワード

        doc = REXML::Document.new http.get(path).body

        doc.elements.each("ResultSet/Result") { |result|
            puts result.text("Title")
        }
    }
}

opt.parse!(ARGV)

実行結果

検索キーワードには「外部認証」を指定しました。

$ ruby --version
ruby 1.8.5 (2006-08-25) [i386-linux]
$ chmod 744 ./yahoo_rest.rb
$ ./yahoo_rest.rb -k "外部認証"
外部サーバーで認証するアカウントの作成
機密書類の安全処理施設/個人情報保護に関する外部認証の取得状況
ArraySPX--認証連携
外部認証取得状況 / 統合マネジメントシステム / NTTソフトウェア
海外の生産拠点で、初のISO外部認証取得
環境マネジメントシステム
ISO外部認証取得と継続的なカイゼン活動
NKK 360 No.42 Winter 2000
外部認証取得状況 外部認証取得状況 外部認証取得状況 外部認証取得状況
社会・環境活動|松下電工

更新履歴

日付 内容
2006-08-09 変更 ライブラリを open-uri から net/http へ変更
2006-05-16 初版