爬虫查询商品是否已售罄

Check whether a product is sold out by crawler

我想了解该产品是否在该网站上有售(mouse product)。通过使用以下代码,我预计会“售罄”。但是,我总是得到“添加到购物车”,可能是因为根据条件在下面有一个脚本。 在这种情况下我怎么会“售罄”?谢谢你的帮助。

    page = r.get("https://finalmouse.com/collections/museum/products/starlight-12-phantom?variant=39672355324040").content
    soup = bs(page, "html.parser")
    span = soup.find("span", {"id":"AddToCartText"})
    print(span.text)

website screen shot

正如 Sean 在评论中所写,在此页面上 html 是动态加载的,页面是通过 js 更新的。要解析此类站点,您需要连接 selenium 和 webdriver。 您的案例代码:

from bs4 import BeautifulSoup as bs
from selenium import webdriver

url = "https://finalmouse.com/collections/museum/products/starlight-12-phantom?variant=39672355324040"

driver = webdriver.Chrome()
driver.get(url)

page = driver.page_source
soup = bs(page, "html.parser")
span = soup.find("span", {"id":"AddToCartText"})
print(span.text)