如何在python中使用xpath打印特定标签中的所有文本?

时间:2017-03-29 15:57:10

标签: python xpath lxml

我是python和xpath的新手。我试图从html文件中打印标签'p'中的文本。 我有这部分代码:

<section>
    <p>Hello <br>nnn</br> <a href="google.com"> dfgdfg </a> World!</p>
</section>

我想打印:Hello nnn World!我正在使用的代码是:

for el in html.xpath('//section/p'):
    print (el.text)

但是印刷文字只是:你好 任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

直接在xpath中使用text()

for el in html.xpath('//section/p//text()'):
    print (el)

检查//说明以获取当前p内所有节点的所有文字。

要一起打印,请尝试:

print(''.join(html.xpath('//section/p//text()')))

答案 1 :(得分:1)

尝试使用以下XPath '//section/p/text()'获取Hello nnn World!

for el in html.xpath('//section/p/text()'):
    print (el, end='')

答案 2 :(得分:1)

您也可以使用text_content

   for section_p in html.xpath('//section/p'):
       print section_p.text_content()