gpt4 book ai didi

python - 如何从嵌入 div 的 div 中获取第一个字符串 beautifulsoup4

转载 作者:太空宇宙 更新时间:2023-11-03 20:02:59 25 4
gpt4 key购买 nike

我正在尝试从网站中提取价格。

我编写的代码可以做到这一点,但是当网站的价格也显示旧价格时,它会返回“none”而不是价格字符串。

这是没有旧价格的代码示例(我的代码以字符串形式返回)

<div class="xl-price rangePrice">
535.000 €
</div>

这是带有旧价格的代码示例(我的代码返回为“无”)

    < div


class ="xl-price rangePrice" >


487.000 €
< span


class ="old-price" > 497.000 € < br > < / span >

< / div >

我尝试从中提取代码的页面:pagelink

我的代码:

prices = []
for items in soup.find_all("div", {"class": "xl-price rangePrice"}):
prices.append(items.string)

print(prices)

我遇到的另一个问题是它返回如下值:

'\r\n\t\t\t\t\t\t\t\t298.000 €\r\n\t\t\t\t\t\t\t', '\r\n\t\t\t\t\t\t\t\t145.000 €\r\n\t\t\t\t\t\t\t'

当我只想要数字时。

非常感谢您的帮助!

最佳答案

import requests
from bs4 import BeautifulSoup

r = requests.get(
'https://www.immoweb.be/en/search/apartment/for-sale/leuven/3000')
soup = BeautifulSoup(r.text, 'html.parser')

for item in soup.findAll('div', attrs={'class': 'xl-price rangePrice'}):
item = item.contents[0]
print(item.strip()[0:-1])

输出:

298.000 
145.000
275.000
535.000
487.000
159.000
325.000
189.000
139.000
499.000
520.000
249.500
448.000
215.000
225.000
210.000
215.000
218.000
232.000
689.000
228.000
299.500
169.000
135.000
549.000
125.000
160.000
395.000
430.000
210.000

关于python - 如何从嵌入 div 的 div 中获取第一个字符串 beautifulsoup4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59123337/

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