python lxml.html向元素添加空格

时间:2017-08-11 15:39:49

标签: python html

我正在解析网页并使用lxml.html HTMLEElement text_content()函数从中获取文本内容。问题是HTML本身没有任何空格,所有新行都由<p>标记指示。我想要做的是为所有<p>元素添加换行符,以便在输出文本时,我没有连接在一起的行没有空格。

我以这种方式得到了我需要的元素:

divs = body.cssselect('div')

HTML看起来像这样:

<html><...><body><div><p>Text on one line.</p><p>Text on another line.</p></body></html>

我想将\n添加到我得到的div中的每个<p>元素中。

由于

1 个答案:

答案 0 :(得分:0)

结果很简单:

p_elements = body.findall(".//p")
for element in p_elements:
    text = element.text
    element.text = "\n" + text