原标题:如何使用爬虫监控一系列网站的更新情况?
关键字:Python,爬虫 (计算机网络),Python 入门,scrapy
最佳回答:Sheldon Chen
回答字数:460字
1 第一次先请求某个网页,抓取到本地,假设文件名为 a.html。这时文件系统有个文件的修改时间。
2 第二次访问网页,如果发现本地已经有了 a.html,则向服务器发送一个 If-Modified-Since 的请求(
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
)。 把 a.html 的修改时间写到请求里。
3 如果网页更新了,服务器会返回一个 200 的应答,这时就重新抓取网页,更新本地文件。
4 如果网页没有更新,服务器会返回一个304的应答。这时就不需要更新文件了。
联系作者
回答作者:Sheldon Chen
其实你得看,如果是静态网页,确实是可以拿文件修改时间来比对
但如果是动态网页,你拿网页转化成MD5或哈希也行
但问题来了,除了做搜索引擎,你为什么要做这个呢
难点其实是主体内容有无更新,很多网站其实是主体内容没更新,但会随机来个列表更新之类的,保持他网页的更新性
利益相关,如果你使用八爪鱼,我们可以帮你每一次采集都把页面数据,结构化的存储下来,从而帮你识别关健数据有无更新