我试图了解监控网站的变更是如何运作的,以及它背后使用的概念是什么。 我可以考虑创建一个抓取整个网站的抓取工具,将抓取的网页与数据库中的一个商店进行比较,如果网页已更新则覆盖旧页面,如果网页不存在则将其存储在数据库中。 所以这是我的问题: 1-如果两个网页相同,我该如何比较?我是否需要逐个字符地比较网页的字符串? 2-我需要抓取整个网站吗?假设网站的html页面大小为5 Gb,我想每小时检测一次网站的变化,因此每小时爬行和下载5 Gb数据会占用大量带宽。
我可以编写代码,我只想知道用于监控网站的一般做法。
非常感谢。
答案 0 :(得分:0)
一种选择是在数据库中存储页面的哈希值,而不是整个页面作为HTML。这将允许您根据存储的值检查值。但你仍然必须“阅读”页面才能这样做,所以是的,一个5GB的网站仍会“下载”5GB来做这件事。
我假设您只保留页面,URL,上次更新,内容哈希等的元数据,您还没有真正说出为什么要这样做。
也许正如MartinJoneš所建议的那样,大多数人只需获取页眉并检查Last-Modification参数。
我也假设你只在你拥有/运行的网站上这样做。没有什么比那些抓住我的网站的naff“营销”机器人更不喜欢,为我增加带宽使用率零值。他们只是为了它而吃掉我的带宽。