【问题标题】:How to identify a change in a websites’ structure programmatically如何以编程方式识别网站结构的变化
【发布时间】:2023-03-04 13:50:01
【问题描述】:

在 Python Scrapy 爬虫的实现中,我想添加一个强大的机制来监视/检测网站内潜在的布局变化。

这些更改必然影响现有的蜘蛛选择器 - 例如,一个网站添加了一个新的 HTML 元素来表示一个项目收到的访问者数量 - 我现在可能有兴趣解析一个元素. 话虽如此,检测选择器问题(Xpath/CSS)在它们被删除/重新定位的情况下也是有益的。

请注意,这与选择器内容更改或网站刷新(if-modified-sincelast-modified)无关,而是对网站结构/节点/布局的修改。

因此,如何实现逻辑来监控这种情况?

【问题讨论】:

    标签: python web-scraping scrapy web-crawler health-monitoring


    【解决方案1】:

    这实际上是一个研究主题,您可以在 this paper 上看到,但当然也有一些已实现的工具可供您查看:

    基本上(在以前的方法上)比较的基础是使用 html 布局的Tree Edit Distance

    【讨论】:

    • Perfect 将使用 Matiskay 的存储库,它们似乎潜在地涵盖了“它是否改变了?”的布尔问题。虽然不是哪个节点发生了变化,但现在可以 - 谢谢!!
    • 我认为您可能必须为您正在比较的网站定义一个阈值,因为“相同”结构意味着它没有改变,但网站也可以添加元标记,甚至只是一些p 标签(不太相关的东西)可能以最小的方式影响布局结构。希望我能帮助您找到解决问题的方法。
    • 知道了。会尝试一下??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多