Есть ли способ определить, возвращает ли страница, открытая с помощью Mechanize, "результаты поиска"?

Я использую Mechanize для входа на веб-сайт и поиска. После извлечения необходимых ссылок / информации я рекурсивно перехожу с текущей страницы на следующую и следующую. Что меня интересует, так это то, есть ли простой способ определить, например, на основе информации заголовка, есть ли "Результаты не найдены" или подобная страница. Если это так, я мог бы быстро проверить заголовок страницы "404" или "ничего не найдено", а затем вернуться.

Я не смог найти это в документации, и из того, что я могу сказать, ответ - нет. Может ли кто-нибудь здесь сказать более определенно, правда, ответ на самом деле нет? Заранее спасибо.

(В настоящее время я просто делаю.find() для "нет результатов" после того, как я.read() ссылка.)

ЗАМЕТКИ:

1) Информация заголовка для "хорошей" страницы (с результатами):

reply: 'HTTP/1.1 200 OK\r\n'
header: Server: nginx
header: Date: Thu, 12 Sep 2013 18:33:10 GMT
header: Content-Type: text/html; charset=utf-8
header: Transfer-Encoding: chunked
header: Connection: close
header: Vary: Accept-Encoding
header: Status: 200 OK
header: X-UA-Compatible: IE=Edge,chrome=1
header: Cache-Control: must-revalidate, private, max-age=0
header: X-Request-Id: b501064808b265fc6e478fa88e622710
header: X-Runtime: 0.478829
header: X-Rack-Cache: miss
header: Content-Encoding: gzip

2) Информация заголовка из "плохого" (нет страницы результатов)

reply: 'HTTP/1.1 200 OK\r\n'
header: Server: nginx
header: Date: Thu, 12 Sep 2013 18:33:11 GMT
header: Content-Type: text/html; charset=utf-8
header: Transfer-Encoding: chunked
header: Connection: close
header: Vary: Accept-Encoding
header: Status: 200 OK
header: X-UA-Compatible: IE=Edge,chrome=1
header: Cache-Control: must-revalidate, private, max-age=0
header: X-Request-Id: 1ae89b2b25ba7983f8a48fa17f7a1798
header: X-Runtime: 0.127865
header: X-Rack-Cache: miss
header: Content-Encoding: gzip

1 ответ

Решение

Заголовок ответа генерируется сервером, вы можете добавить свой собственный параметр "без результатов" и проанализировать, что... в противном случае вам придется анализировать содержимое.

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

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