使用Python检查链接是否失效而不下载网页
对于那些了解 wget
的人来说,它有一个选项 --spider
,可以用来检查链接是否损坏,而不需要真正下载网页。我想在 Python 中做同样的事情。我的问题是,我有一个包含 100,000 个链接的列表,我想检查这些链接,最多一天一次,至少一周一次。无论如何,这样会产生很多不必要的流量。
根据我从 urllib2.urlopen()
的文档 理解,它并不会下载页面,而只是获取一些元信息。这是正确的吗?或者有没有其他更好的方法来做到这一点呢?
祝好,
Troels
2 个回答
-1
不太确定在Python中怎么做,但一般来说,你可以查看“响应头”,然后检查“状态码”是否是200。到那时,你就可以停止读取页面,继续处理下一个链接。这样你就不需要下载整个页面,只需获取“响应头”就可以了。
状态码的列表可以查看这里。
9
你应该使用 HEAD请求 来实现这个功能,它会向网络服务器请求头信息,而不包括内容部分。你可以查看 如何在Python 2中发送HEAD HTTP请求?