Вопрос

Я использую 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 независимо от используемого поискового запроса.

Любые идеи?

Это было полезно?

Решение

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

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

От здесь, Прокрутите две строки вверх. Или поиск страницы для «максимального числа».

Другие советы

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

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

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

HTML URL используется:

[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)

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top