对于下面的输入,lxml
修改div
,好像它理解div
不能在p
内一样。你知道吗
有人能告诉我如何获得这种类型输入的<div></div>
吗?我想更正输入的HTML。你知道吗
我需要切换到BeautifulSoup
吗?你知道吗
from lxml import etree
html_string = """
<html>
<head>
<title></title>
</head>
<body>
<p align="center">
<div></div>
This line should be centered.
</p>
<table>
<tbody>
<tr>
<td>
<div></div>
</td>
</tr>
</tbody>
</table>
</body>
</html>
"""
html_element = etree.fromstring(html_string)
page_break_elements = html_element.xpath("//div")
(Pdb) etree.tostring(html_element[1][0][0])
b'<div/>\n This line should be centered.\n '
我只想让下面的元素移动它。你知道吗
<div></div>
对于任何好奇的人来说,这些是用于PDF生成的分页符div
,用于指定分页符。我从TinyMCE得到的输入没有正确定位它,所以我试图将它移到body
元素。你知道吗
所需输出
from lxml import etree
html_string = """
<html>
<head>
<title></title>
</head>
<body>
<div></div>
<p align="center">
This line should be centered.
</p>
<div></div>
<table>
<tbody>
<tr>
<td>
</td>
</tr>
</tbody>
</table>
</body>
</html>
"""
您可以使用lxml中的soupparser,仍然使用xpath等处理数据:
它将维持p内的
<div></div>
您需要传递一些附加参数来更改tostring()的行为:
相关问题 更多 >
编程相关推荐