Google не возвращает более 64 результатов - PullRequest
1 голос
/ 19 августа 2010

Я использую Google API для .Net http://code.google.com/p/google-api-for-dotnet/, и независимо от того, сколько результатов я запрашиваю для Google, никогда не возвращается больше 64.

Вот мой фрагмент кода:

GwebSearchClient client = new GwebSearchClient("xyz");
IList<IWebResult> results = client.Search(this.SearchText.Text, 100);

Я ожидал получить 100 результатов, но никогда не получал больше 64, независимо от используемого поискового запроса.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 19 августа 2010

Согласно API поиска Google AJAX (который использует те же HTTP-запросы к серверам Google, что и API .NET), максимальное возвращаемое значение составляет 64.

Примечание. Максимальное количество страниц результатов зависит от типа поисковика. Локальный поиск поддерживает 4 страницы (или максимум 32 общих результата), а другие поисковики (блог, книга, изображение, новости, патент, видео и Интернет) поддерживают 8 страниц (максимум 64 результата).

С здесь , прокрутите две строки вверх. Или найдите на странице «максимальное количество».

0 голосов
/ 06 декабря 2012

Всегда есть вариант разбора html:
Мне потребовалось примерно 200 000 000 (или, по крайней мере, 24M) результатов, и, поскольку API его не сокращал, я решил загрузить результаты html.и разобрать их вручную с помощью регулярных выражений.С помощью HashTables мне удалось устранить любые дубликаты.

Мое регулярное выражение:
(анализировать только URL-адреса с данным доменом и содержать субдомены с 3-20 буквенно-цифровыми символами)

@"((?!www)([A-Za-z0-9-]{3,20})(\.example\.com))"

Используемый URL-адрес HTML:

[C# Source]
String.Format(  "http://www.google.com/search?q=site:{0}&num={1}"+
                "&hl=en&tbo=d&as_qdr=all&start={2}&sa=N&biw=1280&bih=709", 
                "example.com", count, start)

Это было проверено в моих собственных приложениях и дает довольно хорошие результаты!

...