0

我正在使用 Mechanize 登录网站并进行搜索。提取我想要的链接/信息后,我递归地从当前页面移动到下一页的下一页。我想知道是否有一种简单的方法可以判断——例如基于标题信息——是否存在“未找到结果”或类似页面。如果是这样,我可以快速检查“404”或无结果页面的标题,然后返回。

我在文档中找不到它,据我所知答案是否定的。这里的任何人都可以更肯定地说,但是,答案是否实际上是否?提前致谢。

(目前,在我 .read() 链接之后,我只是为“无结果”做一个 .find()。)

笔记:

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
4

1 回答 1

2

响应头由服务器生成,您可以添加自己的“无结果”参数并解析...否则您必须分析内容。

如果您打算使用标头,那么我在两者之间唯一能看到的是错误搜索的返回速度快了 4 倍——也许您可以找到经过的响应时间的移动平均值。

于 2013-09-12T20:35:27.397 回答