【发布时间】:2021-12-03 15:47:27
【问题描述】:
我对网络抓取非常陌生。 我去刮了
<div class="p3">
<div>
<span class="poptip"><strong>BP</strong></span>
<p>110</p></div>
<div>
<span class="poptip"><strong>Weight</strong></span>
<p>55</p></div>
<div>
<span class="poptip"><strong>Age</strong></span>
<p>28</p></div>
<div>
<span class="poptip"><strong>Height</strong></span>
<p>155</p></div>
</div>
我要刮的是 155。(这是高度)
我想将所有 p.text 元素放入一个列表中,然后从中取出最后一个。 但是当我尝试时,只有 110 作为输出。 (甚至不是 110、55、28、155 的列表)如何将所有 p.text 放入数组中?
这是我的尝试:
p_list=[]
data =soup.find_all('div', class_='p3')
for info in data:
p_data = para.find('p').text
p_list.append(p_data)
print(p_list)
或者,如果<p>标签的前一个跨度中的文本是“高度”,有没有办法获取<p>标签中的文本?
非常感谢您作为初学者的帮助。
【问题讨论】:
标签: python web-scraping beautifulsoup