C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: Google検索結果のページを表示したい


(過去ログ 70 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■40690 / inTopicNo.1)  Google検索結果のページを表示したい
  
□投稿者/ Forget (1回)-(2009/09/01(Tue) 14:57:31)

分類:[C#] 

C#で、文字列を入力してボタンをクリックするとGoogleで検索された上位3ページのソースをとる、などといったことは可能でしょうか?

Googleでの検索結果を表示させるのは簡単だとは思うのですが、そこから上位3ページというのは・・・?

よろしくお願いします.

引用返信 編集キー/
■40694 / inTopicNo.2)  Re[1]: Google検索結果のページを表示したい
□投稿者/ ヴァン (2回)-(2009/09/01(Tue) 15:22:53)
No40690 (Forget さん) に返信
> C#で、文字列を入力してボタンをクリックするとGoogleで検索された上位3ページのソースをとる、などといったことは可能でしょうか?
>
> Googleでの検索結果を表示させるのは簡単だとは思うのですが、そこから上位3ページというのは・・・?
>
> よろしくお願いします.

こんにちは。

実際にGoogleで1ページ目と2ページ目のURLを比較してみてください。
URLのなかに"start"という引数があると思います。
これの値を変更すれば好きなページの表示が可能だと思います。
引用返信 編集キー/
■40695 / inTopicNo.3)  Re[2]: Google検索結果のページを表示したい
□投稿者/ Forget (2回)-(2009/09/01(Tue) 15:36:03)
ありがとうございます。

>実際にGoogleで1ページ目と2ページ目のURLを比較してみてください。

言葉足らずで申し訳ないのですが、「Googleの検索結果ページ」ではなく、「Googleの検索結果で出た上位3サイト」です。

ごめんなさい。
引用返信 編集キー/
■40696 / inTopicNo.4)  Re[3]: Google検索結果のページを表示したい
□投稿者/ ヴァン (3回)-(2009/09/01(Tue) 16:13:53)
No40695 (Forget さん) に返信
> ありがとうございます。
>
> >実際にGoogleで1ページ目と2ページ目のURLを比較してみてください。
>
> 言葉足らずで申し訳ないのですが、「Googleの検索結果ページ」ではなく、「Googleの検索結果で出た上位3サイト」です。
>
> ごめんなさい。

こんにちは。

HTMLを解析すればURLは見つけられます。
あとはどういう規則性があるかですね。
引用返信 編集キー/
■40698 / inTopicNo.5)  Re[4]: Google検索結果のページを表示したい
□投稿者/ Forget (3回)-(2009/09/01(Tue) 17:37:50)
> HTMLを解析すればURLは見つけられます。
> あとはどういう規則性があるかですね。

ありがとうございます。
実際に見てみましたが、さすがGoogleヤバイ;;;

</div></div><li class="g w0"><h3 class=r>
あたりから一位のサイトのURLみたいですが、全ての検索結果がそうなるのかなぁ・・・と。

一発で返ってくるものがあれば・・・
引用返信 編集キー/
■40729 / inTopicNo.6)  Re[5]: Google検索結果のページを表示したい
□投稿者/ Azulean (437回)-(2009/09/01(Tue) 23:58:59)
No40698 (Forget さん) に返信
> </div></div><li class="g w0"><h3 class=r>
> あたりから一位のサイトのURLみたいですが、全ての検索結果がそうなるのかなぁ・・・と。
Google の検索結果のタグを決め打ちで解析することは、避けた方が良いように感じます。
理由としては、Google は結構頻繁に手を入れてきそうだからです。
Google のちょっとしたデザイン変更の度に、プログラムを修正するのはかなり手間ですし…。

Google が提供する API を利用する方向で検討した方が良いかもしれません。
引用返信 編集キー/
■40763 / inTopicNo.7)  Re[6]: Google検索結果のページを表示したい
□投稿者/ biac (162回)-(2009/09/02(Wed) 12:11:35)
biac さんの Web サイト
> Google が提供する API を利用する方向で検討した方が良いかもしれません。

いやぁ、Google SOAP Search API (Google Web API) は、一昨日終わっちゃったのでねぇ。
http://googleajaxsearchapi.blogspot.com/2009/03/google-code-labs-and-soap-search-api.html

Google AJAX Search API
http://code.google.com/intl/ja/apis/ajaxsearch/documentation/
を使うことになるですよ。
ありがたいことに、キーを取得してなくても検索できます。 
# 出力が 8件だけに制限されるみたいですが。

ただし、XML Web サービスではなくなったので、「Web 参照の追加」ってわけにはいきません。 
# XML じゃなくて、 JSON で返ってきます。

さてこりゃ面倒な… と思ったら、ちゃんと作ってくれた人がいます。
http://gapidotnet.codeplex.com/
> api.NET - .NET (C#) wrapper for Google API

これを使えば、 こんな感じで f(^^;

private void Form1_Load(object sender, EventArgs e)
{
    WebSearchOptions opt = new WebSearchOptions();
    opt.LRestrict = "lang_ja";

    string phrase = "わんくま site:http://bluewatersoft.cocolog-nifty.com/";

    SearchResults searchResults = Searcher.Search(opt, phrase);

    this.textBox1.Text = searchResults.Items.Count().ToString() + "件\r\n\r\n";
    foreach (SearchResult r in searchResults.Items) {
        this.textBox1.Text += string.Format(null,
            "【Title】{0}\r\n【URL】{1}\r\n【Content】{2}\r\n-----\r\n", 
            r.Title, r.Url, r.Content);
    }
    // 文字列の足し算が 9回 …良い子はマネしないよーにw
}

※ 結果にやたら <b> </b> が入るのが、ちょっちいやん orz

引用返信 編集キー/
■40783 / inTopicNo.8)  Re[7]: Google検索結果のページを表示したい
□投稿者/ Azulean (442回)-(2009/09/03(Thu) 00:07:20)
No40763 (biac さん) に返信
> > Google が提供する API を利用する方向で検討した方が良いかもしれません。
>
> いやぁ、Google SOAP Search API (Google Web API) は、一昨日終わっちゃったのでねぇ。
> http://googleajaxsearchapi.blogspot.com/2009/03/google-code-labs-and-soap-search-api.html

具体的な所のフォローありがとうございます。
昨日の書き込みの時点では、「SOAP Search APIがDeprecatedであること」「AJAX Search APIがSupersetである」という記述までしか確認していませんでした。

出力が扱いづらくなっているかもしれませんが、API として定義してくれている以上はそこまで煩雑に変わらないのではないかぐらいで見ていますが…。
(実際に使っていないので難易度的なところで認識違いをしている可能性が残ります)
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -