解析文件中的HTML字符串并使用xpath删除元素,然后用python将其写入同一文件

解析文件中的HTML字符串并使用xpath删除元素,然后用python将其写入同一文件,python,html,parsing,lxml,Python,Html,Parsing,Lxml,对于我的项目,我必须使用python xpath从html文件中删除选择性内容。 可以使用.remove方法删除选择性元素,但文件中的内容看起来相同 如何将修改后的内容再次写入该文件 但是,如果我尝试使用open.writeetree.tostringtree_obj将相同的树对象写入文件,unicode页面的内容会有所不同吗?有没有其他方法可以保存修改过的文件 为什么下面输出中的标题标记在打印树对象后具有不同的值 请建议 下面是我的代码示例。 示例:我需要删除html页面中的所有div标记 H

对于我的项目,我必须使用python xpath从html文件中删除选择性内容。 可以使用.remove方法删除选择性元素,但文件中的内容看起来相同

如何将修改后的内容再次写入该文件

但是,如果我尝试使用open.writeetree.tostringtree_obj将相同的树对象写入文件,unicode页面的内容会有所不同吗?有没有其他方法可以保存修改过的文件

为什么下面输出中的标题标记在打印树对象后具有不同的值

请建议

下面是我的代码示例。 示例:我需要删除html页面中的所有div标记

HTML文件:

<html>
<head>test</head>
<body>
<p>welcome to the world</p>
<div id="one">
    <p>one</p>
    <div id="one1">one1</div>
    <ul>
        <li>ones</li>
        <li>twos</li>
        <li>threes</li>
    </ul>
</div>
<div id="hell">
    <p>heaven</p>
    <div id="one1">one1</div>
    <ul>
        <li>ones</li>
        <li>twos</li>
        <li>threes</li>
    </ul>
</div>
<input type="text" placeholder="enter something.." />
<input type="button" value="click" />
</body>
</html>
输出:

<html>
<head/><body><p>test
</p>
<p>welcome to the world</p>
<input type="text" placeholder="enter something.."/>
<input type="button" value="click"/>


</body></html>

我没有使用python,但我在库jsoup的帮助下使用Java解析基于html的网站

Python也有类似的例子。好汤。你可以玩这个东西来获得想要的输出


希望有帮助。

您是否尝试过使用python的标准库re

import re</br>
re.sub('<.*?>','', '<nb>foobar<aon><mn>')
re.sub('</.*?>','', '</nb>foobar<aon><mn>')

以上两个操作可以结合使用以删除所有html标记。它也可以很容易地修改以删除div标记。

@roshan-我们可以使用。轻松删除标记。这里的问题是,除非我们再次写入内容,否则输入文件的内容不会更改。请尝试以r+模式打开文件。类似于fd=openD:\\hello.html,r+
import re</br>
re.sub('<.*?>','', '<nb>foobar<aon><mn>')
re.sub('</.*?>','', '</nb>foobar<aon><mn>')