Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何确定网页是否已被修改_Python_Diff_Webpage_Snapshot - Fatal编程技术网

Python 如何确定网页是否已被修改

Python 如何确定网页是否已被修改,python,diff,webpage,snapshot,Python,Diff,Webpage,Snapshot,我有两次拍摄多个网页的快照。确定哪些网页已被修改的可靠方法是什么 我不能依赖RSS提要之类的东西,我需要忽略一些小的噪音,比如日期文本 理想情况下,我正在寻找Python解决方案,但直观的算法也很好 谢谢 如果您将更改的阈值设置为忽略适当噪声量的距离,则类似的设置可能会派上用场。首先,您需要确定什么是噪声,什么不是噪声。您可以使用HTML解析器来消除噪音,漂亮地打印结果,并将其作为字符串进行比较 如果您正在寻找一个自动解决方案,您可以使用来计算页面之间的差异,计算并将其与阈值进行比较。解决方案实

我有两次拍摄多个网页的快照。确定哪些网页已被修改的可靠方法是什么

我不能依赖RSS提要之类的东西,我需要忽略一些小的噪音,比如日期文本

理想情况下,我正在寻找Python解决方案,但直观的算法也很好


谢谢

如果您将更改的阈值设置为忽略适当噪声量的距离,则类似的设置可能会派上用场。

首先,您需要确定什么是噪声,什么不是噪声。您可以使用HTML解析器来消除噪音,漂亮地打印结果,并将其作为字符串进行比较


如果您正在寻找一个自动解决方案,您可以使用来计算页面之间的差异,计算并将其与阈值进行比较。

解决方案实际上取决于您是在刮取特定站点,还是试图创建一个适用于任何站点的程序

您可以通过执行以下操作查看哪些区域经常更改:

 diff <(curl http://stackoverflow.com/questions/) <(sleep 15; curl http://stackoverflow.com/questions/)

diff只需使用MD5或SHA1对文件进行快照…如果下次检查时值不同,则会对其进行修改。

您所说的快照是指图像吗?或历史HTML?仅HTML-无支持文件您想区分结构(HTML标记)或内容还是两者?Levenshtein距离为O(n^2),对于整个网页来说,效率可能非常低。但是,您可以将其概括为序列,并将单词视为符号而不是字符。那可能行得通。问题是这种方法不能处理噪音。例如,一个网页可能显示今天的日期,即使内容没有修改,日期也会改变。ic。。我误解了你的要求。是的,我正在寻找一个通用的方法。总字数是一个有趣(且简单)的想法。