如何使用python来区分两个html文件

mik*_*ike 8 html python diff

我想使用python来区分两个html文件:

例如:

html_1 = """
<p>i love it</p>
"""
html_2 = """ 
<h2>i love it </p>
"""
Run Code Online (Sandbox Code Playgroud)

diff文件会是这样的:

diff_html = """
<del><p>i love it</p></dev><ins><h2>i love it</h2></ins>
"""
Run Code Online (Sandbox Code Playgroud)

有没有这样的python lib帮我这么做?

Edu*_*nec 10

lxml可以做你想做的事情.来自文档:

>>> from lxml.html.diff import htmldiff
>>> doc1 = '''<p>Here is some text.</p>'''
>>> doc2 = '''<p>Here is <b>a lot</b> of <i>text</i>.</p>'''
>>> print htmldiff(doc1, doc2)
<p>Here is <ins><b>a lot</b> of <i>text</i>.</ins> <del>some text.</del> </p>
Run Code Online (Sandbox Code Playgroud)

我不知道任何其他Python库用于此特定任务,但您可能希望查看逐字词差异.他们可能接近你想要的.

一个例子是这个,用PHP和Python实现(保存为diff.py,然后import diff)

>>> diff.htmlDiff(a,b)
>>> '<del><p>i</del> <ins><h2>i</ins> love <del>it</p></del> <ins>it </p></ins>'
Run Code Online (Sandbox Code Playgroud)