Google Search API - количество результатов

Всякий раз, когда вы выполняете поиск Google, он выплевывает этот маленький фрагмент информации

"Около 8 110 000 результатов (0,10 секунд)"

Я использую количество результатов, возвращаемых определенными терминами, чтобы сравнить их друг с другом, поэтому, если бы я мог получить это целое число - 8 110 000 - через API, это было бы очень полезно. Некоторые API Google недавно устарели, поэтому, если бы вы могли указать мне на тот, который не устарел, это было бы очень полезно.

Любые другие обходные пути также будут высоко оценены. Я видел один или два старых сообщения на похожие темы, но ни одно из них не было решено успешно.

1 ответ

Решение

Завершено с использованием Bing вместо Google и со следующим кодом:

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();
                }

            }
        }
    }
}
Другие вопросы по тегам