gpt4 book ai didi

python - 如何查找具有特定值的文本 BeautifulSoup python2.7

转载 作者:行者123 更新时间:2023-12-01 04:04:48 25 4
gpt4 key购买 nike

我有以下 html:我正在尝试将以下数字保存为变量“Available Now”,7,148.49,HatchBack,Good。我遇到的问题是我无法独立地将它们拉出来,因为它们没有附加的类。我想知道如何解决这个问题。以下是 html,然后是我的无用代码来解决这个问题。

</div>
<div class="car-profile-info">
<div class="col-md-12 no-padding">
<div class="col-md-6 no-padding">
<strong>Status:</strong> <span class="statusAvail"> Available Now </span><br/>
<strong>Min. Booking </strong>7 Days ($148.89)<br/>
<strong>Style: </strong>Hatchback<br/>
<strong>Transmission: </strong>Automatic<br/>
<strong>Condition: </strong>Good<br/>
</div>

Python 2.7 代码:- 这给了我整个 html!

soup=BeautifulSoup(html)
print soup.find("span",{"class":"statusAvail"}).getText()
for i in soup.select("strong"):
if i.getText()=="Min. Booking ":
print i.parent.getText().replace("Min. Booking ","")

最佳答案

使用 class="car-profile-info" 查找 div 元素下的所有强元素,并为找到的每个元素获取 .next_siblings 直到遇到 br 元素:

from bs4 import BeautifulSoup, Tag

for strong in soup.select(".car-profile-info strong"):
label = strong.get_text()
value = ""
for elm in strong.next_siblings:
if getattr(elm, "name") == "br":
break
if isinstance(elm, Tag):
value += elm.get_text(strip=True)
else:
value += elm.strip()

print(label, value)

关于python - 如何查找具有特定值的文本 BeautifulSoup python2.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35812778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com