【问题标题】:How to check whether the html has changed?如何检查html是否已更改?
【发布时间】:2015-04-29 15:53:50
【问题描述】:

抱歉,如果那是错误的地方,但不知道在哪里问。

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

最简单、最简单的方法是什么?我读过关于网络爬虫、网络爬虫的文章,但它们似乎做的远远超出了我们的需要。我们基本上希望从连接到互联网的 PC 上运行一个小脚本,该脚本将执行简单的检查,并在检测到对 html 正文的特定部分的更改时立即向我们发送电子邮件(或者更具体地说 - 选定的元素没有已找到)。

非常感谢任何帮助

【问题讨论】:

  • 您可以计算 html(或其中的一部分)的哈希值,然后将其与之前的哈希值进行比较,看看是否有任何变化。但是,如果您想了解 究竟发生了什么,您需要保存 html(或其中的一部分)并计算 Levenshtein distance 来做到这一点。
  • 更具体地说,您想读取特定 url 的 html 并分配给一个变量,然后对一些 html 文本进行正则表达式搜索,然后根据该输出发送一封电邮。你可以使用 bash 或 powershell 来做到这一点,
  • 很多网站都有广告,所以在提取html的时候,把广告部分替换掉,因为广告部分变化很大。
  • http 标头中没有某种“无更改”标志吗?还是那是不可靠的 wrt 广告?

标签: javascript html web-scraping firefox-addon web-crawler


【解决方案1】:

基本上,您可以设置 Google 电子表格以使用 xpath 通过IMPORTXML function (here with an example) 抓取页面的部分。然后在电子表格中设置通知:工具 -> 通知规则

现在,每次抓取功能 (IMPORTXML) 获取与以前不同的内容时,电子表格都会触发一封邮件给您。

作为现成的替代方案,我还可能会推荐 some tools 跟踪页面和/或其部分的(!)更改,包括通过电子邮件通知。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 2020-01-03
    相关资源
    最近更新 更多