Поиск Google возвращает ошибку 503 для сложных поисковых запросов - PullRequest
3 голосов
/ 23 марта 2012

Когда я пытаюсь загрузить страницу результатов поиска Google с помощью HttpWebRequest в C #, все работает очень хорошо, если я использую простые условия поиска, например

http://www.google.com/search?q=stackoverflow

Но когда я пытаюсь сделать его более сложнымпример

http://www.google.com/search?q=inurl%3A%22goethe%22%20filetype%3Apdf

, что означает

inurl:"goethe" filetype:pdf

, я получу ошибку 503, потому что Google считает меня ботом.Есть ли обходной путь?

Редактировать: UserAgent установлен на «Mozilla / 5.0».

Ответы [ 3 ]

3 голосов
/ 23 марта 2012

хорошо ... если ваш поиск выполняется программно, то Google точно так же и прав ... вы бот :-)

ура!

1 голос
/ 23 марта 2012

Попробуйте API и инструменты пользовательского поиска Google. Это позволит вам получать результаты поиска, не опасаясь отказа в доступе (до предела).

В качестве альтернативы, имитируйте все нюансытипичный поисковый запрос.Например, в моем браузере поиск inurl:"goethe" filetype:pdf приводит к запрашиванию этого URL .
Затем появляются файлы cookie и другие заголовки http.Сделайте так, чтобы браузер запрашивал его.

1 голос
/ 23 марта 2012

Я не верю, что это во многом связано с тем, насколько сложен ваш запрос. Единственное, что действительно имеет значение, это если они думают, что ты бот. Если вы отправляете запросы с очень высокой скоростью, тогда Google подумает, что вы бот, поэтому есть несколько возможных решений:

  1. Уменьшите скорость отправки запросов.
  2. Использование прокси для выполнения нескольких запросов.

Кроме того, важно отметить, что если вы отправляете веб-запросы без сохранения файлов cookie, это может быть еще одним «сигналом» для Google думать, что вы бот. Вы также должны быть очень осторожны, чтобы не заблокировать прокси от Google, потому что вы очищаете большой G. Трудно найти бесплатные прокси, и если вы злоупотребите ими, они будут закрыты, поэтому будьте хорошим гражданином! 1011 *

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...