Python I';I’我得到的是折扣,不是折扣价
我正在尝试用bs4构建一个web刮板,一切都很好,除了当商品打折时,它输出的是折扣%,而不是价格,我不知道如何获得价格Python I';I’我得到的是折扣,不是折扣价,python,beautifulsoup,Python,Beautifulsoup,我正在尝试用bs4构建一个web刮板,一切都很好,除了当商品打折时,它输出的是折扣%,而不是价格,我不知道如何获得价格 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
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))
priceInner的结构如下所示
<div class="priceInner">
<div class="npc">
<span class="np">-9%</span>
<span class="np2">57,90 €</span>
</div>
<span class="c2">52,57 €</span>
<span class="c1">bez DPH <b>43,81 €</b></span>
</div>
-9%
57,90 €
52,57 €
bez DPH 43,81欧元
因此,你只需多做一步,在你的
cena
中找到class=“c2”
的跨度,就像你在div中找到class=“priceInner”
一样,也许可以计算它?我可能可以这样做,但当我知道价格就在那里时,这是不必要的,不是吗,问题是如何在页面上找到它?是的,我不知道如何在htmlOk中找到它,你需要使用你的浏览器。导航到页面,启动开发人员工具并使用“inspect element”。很抱歉,我不确定如何执行该操作。您能帮助我吗?那么您首先是如何想出示例代码的?它应该是这样的:cena_c2=cena.find(“span”,{“class”:“c2”})
Oh哇,谢谢你,我尝试了很多不同的版本,不知道为什么我没有尝试这个,非常感谢你再次接受答案,如果它有效的话
<div class="priceInner">
<div class="npc">
<span class="np">-9%</span>
<span class="np2">57,90 €</span>
</div>
<span class="c2">52,57 €</span>
<span class="c1">bez DPH <b>43,81 €</b></span>
</div>