requests
/ bs4
的新手。我向一个网页(一家商店)发出请求,并通过bs4将其解析为汤。如果汤中包含“已售完”文本,则应该将我打印出来“已售完”,否则显示“有库存”,但是即使身体中不包含“已售完”字样,它仍然会打印“已售完”
我认为格式化存在问题,我尝试将其更改为soup.body.findAll(text="Sold Out")
import requests
import time
from bs4 import BeautifulSoup
r = requests.get("https://www.starcowparis.com/shoes/2030-adidas-alphaedge-4d-m.html")
src = (r.content)
soup = BeautifulSoup(src, "lxml")
soup.find_all("div")
while True:
soup.body.findAll(text="Sold Out")
[]
print("Sold Out")
else:
print("INSTOCK")
即使主体中没有“售罄”,它也始终打印出“售罄”
最佳答案
那是因为您有一个while
循环,您需要一个if
块:
if soup.body.findAll(text="Sold Out"):
print("Sold Out")
else:
print("INSTOCK")
关于python - 尝试从网页监视产品,未按预期工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55492907/