爬虫查询商品是否已售罄
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)
我想了解该产品是否在该网站上有售(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)