我是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)
但是印刷文字只是:你好 任何人都可以帮我解决这个问题吗?
答案 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()