有没有一种方法可以让我使用 BeautifulSoup 来获取包含多个单词的标签文本?
例如,如果我有 HTML:
<div>
<div>
<a>hello there</a>
<a>hi</a>
</div>
<a>what's up</a>
<a>stackoverflow</a>
</div>
...我只想得到
hello there what's up
您绝对可以使用 BeautifulSoup 从包含多个单词的 HTML 标签中提取文本。在您的示例中,您想要从具有多单词内容的标签中提取文本。以下是如何在 Python 中使用 BeautifulSoup 来实现这一点。
from bs4 import BeautifulSoup
html = '''
<div>
<div>
<a>hello there</a>
<a>hi</a>
</div>
<a>what's up</a>
<a>stackoverflow</a>
</div>
'''
soup = BeautifulSoup(html, 'html.parser')
target_tags = soup.find_all('a') # Find all <a> tags
multi_word_texts = []
for tag in target_tags:
if ' ' in tag.get_text(): # Check if the tag text contains a space (indicating multiple words)
multi_word_texts.append(tag.get_text())
result = ' '.join(multi_word_texts)
print(result)