【发布时间】:2021-05-29 08:39:04
【问题描述】:
我正在尝试使用 bs4 构建一个网络爬虫,一切正常,除了当商品打折时,它输出的是折扣百分比,而不是价格,我不知道如何获得价格。
elif meno_karty == "8":
#710
page_url = "https://www.alza.sk/graficke-karty-s-cipom-nvidia-geforce-gt710/18858832.htm"
uClient = uReq(page_url)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, "html.parser")
containers = page_soup.findAll("div",{"class":"browsingitem"})
container = containers[0]
while alwaysTrue == True:
for container in containers:
meno = container.div.div.a.img["alt"].replace(" - Grafická karta", "")
cena = container.find("div",{"class":"priceInner"})
cas = datetime.now()
cas_teraz = cas.strftime("%H:%M:%S")
print("[" + cas_teraz + "]" + f"{Fore.CYAN} [MENO] {Style.RESET_ALL}" + meno)
print("[" + cas_teraz + "]" + f"{Fore.GREEN} [CENA] {Style.RESET_ALL}{Fore.RED}" + cena.span.text.replace("Cena nebola stanovená", "X") + Fore.WHITE)
if "€" in cena.span.text:
f = open("stock.txt", "a")
f.write(cas_teraz + " " + meno + " " + cena.span.text + "\n")
f.close()
playsound("ding.wav")
else:
time.sleep(0.1)
time.sleep(int(refresh))
Output:
[10:33:04] [MENO] GAINWARD GT710 2GB DDR3 SilentFX
[10:33:04] [CENA] 57,90 €
[10:33:06] [MENO] ASUS GeForce GT 710 SL-2GD5
[10:33:06] [CENA] 80,90 €
[10:33:08] [MENO] ASUS GeForce GT 710 SL-2GD5-BRK
[10:33:08] [CENA] 81,90 €
[10:33:10] [MENO] GIGABYTE GeForce GT 710 2GB
[10:33:10] [CENA] -9%
【问题讨论】:
-
也许可以计算一下?
-
我可能可以这样做,但当我知道价格就在那儿时,那是不必要的,不是吗?
-
那么,问题是如何在页面上找到它?
-
是的,我不知道怎么在html里找到
-
好的,你需要使用你的浏览器。导航到该页面,启动开发人员工具并使用“检查元素”。
标签: python beautifulsoup