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