假设我有一个包含以下代码的HTML网站:
<div class="random-texts">
<p>abc</p>
<p>def</p>
<p>ghi</p>
</div>
我尝试使用标签= soup.select('div [class =“ random-texts”> p')”,这样做会返回一个列表:
[<p>abc</p>, <p>def</p>, <p>ghi</p>]
要提取文本,我使用for循环遍历元素:
for tag in tags:
tag.text
abc
def
ghi
所以我的问题是,如何将段落中的所有文本存储到变量中(例如,段落文本)
print(paragraph_texts)
abc def ghi
很抱歉,这听起来像是一个显而易见的问题。
我不太懂Python。
答案 0 :(得分:2)
from bs4 import BeautifulSoup
html = """<div class="random-texts">
<p>abc</p>
<p>def</p>
<p>ghi</p>
</div>
"""
soup = BeautifulSoup(html, 'html.parser')
val = list(soup.select_one("div.random-texts").stripped_strings)
print(val)
# or unpacking
print(*val)
输出:
['abc', 'def', 'ghi']
和
abc def ghi