Есть ли способ определить, что страница, открытая с помощью 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

person Bee Smears    schedule 12.09.2013    source источник


Ответы (1)


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

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

person blakev    schedule 12.09.2013