如何检查HTML是否已更改?

4

很抱歉如果这不是正确的地方,但我不知道去哪里询问。

我们正在构建适用于特定网站的Firefox插件。现在,由于那些网站偶尔会发生变化,我想每天运行一次JavaScript脚本来检查特定代码部分是否已更改,如果确实更改了,我们就会收到一些返回消息(最好直接发送到我的电子邮件)。

最简单、最简单的方法是什么?我已经阅读了有关网络爬虫、网页抓取器的信息,但它们似乎要做的远远超出我们的需要。我们基本上只想从连接到互联网的电脑上运行一个小脚本,进行简单的检查,并在检测到HTML正文中特定部分的更改(或更具体地说-未找到所选元素)时立即向我们发送电子邮件。

非常感谢任何帮助。


你可以计算HTML(或其部分)的哈希值,然后将其与先前的哈希值进行比较,以查看是否有任何更改。但是,如果您想找出具体发生了什么变化,您需要保存HTML(或其部分),并计算Levenshtein距离来实现这一点。 - Nolonar
更具体地说,您想读取特定 URL 的 HTML 并将其分配给一个变量,然后进行正则表达式搜索以查找一些 HTML 文本,然后基于该输出发送电子邮件。您可以使用 bash 或 powershell 来实现这一功能。 - Zach Folwick
许多网站都有广告,因此在提取HTML时,请将广告部分替换为广告部分经常更改。 - Noitidart
HTTP头中有没有某种“无更改”标志?或者在广告方面不可信? - Lori
1个回答

0

基本上,您可以通过使用xpath设置Google电子表格来通过IMPORTXML函数(此处提供示例)抓取页面的部分。 然后,您可以在电子表格中设置通知:工具->通知规则 enter image description here

现在,每当抓取函数(IMPORTXML)获取到与先前不同的内容时,电子表格应触发向您发送邮件的操作。

作为现成的替代方案,我还可以推荐一些工具来跟踪页面及其部分的更改,并通过电子邮件进行通知。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接