8

Google検索を実行するたびに、この小さな情報の断片が吐き出されます

「約811万件(0.10秒)」

特定の用語が返す結果の数を使用して、それらを相互にランク付けしているので、API を介してこの整数 (8,110,000) を取得できれば、非常に役立ちます。一部の Google API は最近廃止されたので、廃止されていない適切な API を教えていただければ非常に助かります。

他の回避策も大歓迎です。同様のトピックに関する古い投稿を 1 つまたは 2 つ見たことがありますが、解決に成功したものはありませんでした。

4

1 に答える 1

5

Google の代わりに Bing を使用し、次のコードで完了します。

string baseURL = "http://api.search.live.net/xml.aspx?Appid=<MyAppID>&query=%22" + name + "%22&sources=web";
WebClient c = new WebClient();
c.DownloadStringAsync(new Uri(baseURL));
c.DownloadStringCompleted += new DownloadStringCompletedEventHandler(findTotalResults);

そして、これはfindTotalResultsを呼び出します:

void findTotalResults(object sender, DownloadStringCompletedEventArgs e)
{
    lock (this)
    {
        string s = e.Result;
        XmlReader reader = XmlReader.Create(new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(s)));
        while (reader.Read())
        {
            if (reader.NodeType == XmlNodeType.Element)
            {
                if (reader.Name.Equals("web:Total"))
                {
                    gResults = reader.ReadInnerXml();
                }

            }
        }
    }
}
于 2010-11-30T04:42:52.033 に答える