検索結果件数

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
初心者

検索結果件数

#1

投稿記事 by 初心者 » 16年前

Yahooを用いて検索語を入力した場合に検索結果の件数のみを表示させるプログラムを作りたいのですが何をどうすれば良いのか全く分かりません。どうにか教えて頂けないでしょうか。よろしくお願いします。

YuO

Re:検索結果件数

#2

投稿記事 by YuO » 16年前

Yahooが専用のAPIを用意しています。

http://developer.yahoo.co.jp/search/
http://developer.yahoo.co.jp/search/web ... earch.html
を使って,ResultSet/@totalResultsAvailableを取り出せば目的の物が得られると思います。

初心者

Re:検索結果件数

#3

投稿記事 by 初心者 » 16年前

ありがとうございます。YahooのAPIについて調べ

#!/usr/bin/perl
use LWP::Simple;

my $key = '検索文字列'; # UTF-8
$key =~ s/([^0-9A-Za-z_ ])/'%'.unpack('H2',$1)/ge;
my ($hit) = ($c ="http://api.search.yahoo.com/WebSearchService/V1/webSearch/totalResultsAvailable="(\d+)"/);

を作ってみたのですがこれでよろしいのでしょうか?
明日までに作成しなければならないのですがどなたか教えて頂けないでしょうか?

YuO

Re:検索結果件数

#4

投稿記事 by YuO » 16年前

Perlはわからないのですが,間違っていることは断言出来ます。
実際に実行してみればわかることでしょうけれど……。

まずは,サンプルリクエストURLをそのまま投げて,レスポンスを取得するところから始めてください。
リクエストが成功していればそのレスポンスはXMLなので,XML解析エンジンに結果を放り込んでXPath : /ResultSet/@totalResultsAvailableを取得します。
# 先頭の/を忘れていました
それで,検索結果の件数が取得出来ます。
現時点だと,384000000になりました。

次に,アプリケーションIDを取得して,YahooDemoの部分を取得したIDに変更します。
再度流して実際の検索結果 (沖縄) と比べます。
# 実際の検索結果では383000000だったので,実際には若干の誤差がある模様。

最後に,query部分を可変にすればできあがりです。

閉鎖

“C言語何でも質問掲示板” へ戻る