Python 比较两个HTML文件并返回两个文件之间不同的HTML标记

Python 比较两个HTML文件并返回两个文件之间不同的HTML标记,python,html,difflib,Python,Html,Difflib,我正在使用python编写一个web监视脚本,它将查看页面的存档版本,将其与当前的在线版本进行比较,并在有任何更改时通知我。我已经掌握了这项工作的基本知识,但在web表单中具有动态属性的网站上遇到了问题。页面通常没有更改,但表单中的隐藏属性已更改,这会触发通知 在带有diff=difflib.unified\u diff(content1,content2)的两个HTML文件上使用python的diflib,我能够得到下面截断的输出 -<input type='hidden' value=

我正在使用python编写一个web监视脚本,它将查看页面的存档版本,将其与当前的在线版本进行比较,并在有任何更改时通知我。我已经掌握了这项工作的基本知识,但在web表单中具有动态属性的网站上遇到了问题。页面通常没有更改,但表单中的隐藏属性已更改,这会触发通知

在带有
diff=difflib.unified\u diff(content1,content2)
的两个HTML文件上使用python的diflib,我能够得到下面截断的输出

-<input type='hidden' value='contact-us' name='ufo-form-pagename' id='ufo-form-pagename'/><input type='hidden' value='927eea55b8e87e961314033fce84de4a1418504077' name='ufo-sign' id='ufo-sign'/>

+<input type='hidden' value='contact-us' name='ufo-form-pagename' id='ufo-form-pagename'/><input type='hidden' value='1ccb910cbb9dc0d6f6dd5ed99212df741418800872' name='ufo-sign' id='ufo-sign'/>
-
+
我希望“读取”此输出,并返回不具有相同值的HTML属性,在本例中为
value='927EEA55B8E87E961314033FCE84DE4A141850077'
,以及
value='1CCB910CBB9DC0D6D6DD5ED99212DF741418800872'

我将如何执行此操作?

我正在使用python编写一个web监视脚本,该脚本将查看页面的存档版本,将其与当前的在线版本进行比较,并在有任何更改时通知我

你刚才不是回答了你自己的问题吗?如果存在差异,则文件已更改。:)

听起来您想要做的是忽略某些类别的更改。如果您对正确解析HTML不感兴趣,一个简单的方法可能是将所有空格转换为换行符,然后运行差异。在这种情况下,您将看到的唯一区别是
value='927eea55…'
,您可以使用正则表达式拾取并忽略它

如果要正确解析HTML并执行更智能的差异化操作,请使用LMGTFY:


我已经这样做了,但我需要看到区别,最好只是冒犯属性,并确定它是否重要。