为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Beautifulsoup 从网站上抓取产品价格?

如何使用 Beautifulsoup 从网站上抓取产品价格?

神不在的星期二 2023-08-22 17:49:06
我正在尝试从 StockX 中提取这款运动鞋的最新出价,但收到错误消息IndexError: list index out of range因为由于sneaker_price某种原因出现空白。有人可以帮忙吗?:from bs4 import BeautifulSoupfrom selenium import webdriverdriver = webdriver.Chrome()driver.get("https://stockx.com/air-jordan-6-retro-travis-scott")soup = BeautifulSoup(driver.page_source,"lxml")driver.quit()sneaker_price = soup.select("div.en-us stat-value stat-small")[0]
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

尝试 CSS 选择器div.en-us.stat-value.stat-small:


sneaker_price = soup.select("div.en-us.stat-value.stat-small")[0]

print(sneaker_price.text)

印刷:


€523

注意:如果您获得验证码页面,请尝试指定更多 HTTP 标头和/或 Cookie。例如:


import requests

from bs4 import BeautifulSoup


headers = {

    'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:80.0) Gecko/20100101 Firefox/80.0',

    'Accept-Language': 'en-US,en;q=0.5'

}


cookies = {

    'stockx_homepage': "sneakers",

}


soup = BeautifulSoup(requests.get("https://stockx.com/air-jordan-6-retro-travis-scott", headers=headers, cookies=cookies).content,"lxml")


sneaker_price = soup.select("div.en-us.stat-value.stat-small")[0]

print(sneaker_price.text)


查看完整回答
反对 回复 2023-08-22
?
萧十郎

TA贡献1815条经验 获得超12个赞

您可以使用.ask div.en-us.stat-value.stat-small选择器获取包含最新要价的 div。由于有多个元素,您可以选择最后一个元素,例如:


ask_price = soup.select('.ask div.en-us.stat-value.stat-small')[-1]

print(ask_price.text) # $655


查看完整回答
反对 回复 2023-08-22
  • 2 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信