我有一个可以包含链接的字符串:
<a href="http://site1.com/">Hello</a> <a href="http://site2.com/">Hello2</a>
<a href="http://site3.com">Hello3</a> ...
如何提取所有html标签的文本(而不是链接)&#34; Hello&#34;,&#34; Hello2&#34;,&#34; Hello3&#34; ......?我想到一个应该包含所有文本的列表。
答案 0 :(得分:1)
使用lxml:
import lxml.html as LH
content = '''
<a href="http://site1.com/">Hello</a> <a href="http://site2.com/">Hello2</a>
<a href="http://site3.com">Hello3</a>
<a href="/">go <b>home</b>, dude!</a>
'''
doc = LH.fromstring(content)
texts = [elt.text_content() for elt in doc.xpath('//a')]
print(texts)
产量
['Hello', 'Hello2', 'Hello3', 'go home, dude!']