python - 如何使用soup.select,我做错了什么?
问题描述
我希望我的程序能够在亚马逊上获得产品的价格。我正在尝试这样做但soup.select
失败了(还没有成功soup.find
)。右键单击检查项目价格会给我这个 html 代码:
<span id="price_inside_buybox" class="a-size-medium a-color-price">
ILS 53.35
</span>
这是我的代码,我做错了什么,我应该如何soup.select
正确使用?
import bs4, requests,
amazonlink = "https://www.amazon.com/UNSCENTED-PURITO-Ingredients-sunscreen-Lightweight/dp/B07WQXP3D8/ref=as_li_ss_tl?crid=V29993T4TI1W&dchild=1&keywords=purito+comfy+water+sunblock&qid=1585239706&sprefix=purito+comfy,aps,299&sr=8-2&linkCode=sl1&tag=drdrayzday-20&linkId=7231993512a225ded0b474b852d105bc&language=en_US"
res = requests.get(amazonlink)
soup = bs4.BeautifulSoup(res.text,'html.parser') #creates soup object
print(soup.select("price_inside_buybox"))
print(soup.find("span",id="price_inside_buybox"))
编辑:我的输出是一个空列表或没有
解决方案
这将是更好和更清洁的解决方案,因为如果亚马逊出于任何原因更改其 html,您的脚本将不再工作,请使用 amazon api。
https://docs.aws.amazon.com/AWSECommerceService/latest/DG/Welcome.html
推荐阅读
- tcl - 如何制作文本掩码底层小部件?
- javascript - 为什么每个 Redux Middleware 都可以调用 next(action),它不会多次 dispatch 一个 action 吗?
- node.js - 如何使用 sequelize 重置 autoIncrement 主键?
- r - 删除背景颜色也会删除轴线
- git - 无法使用 crontab 运行 git 命令
- ios - 我可以将整个 iOS 应用程序打包为框架吗?
- javascript - 如何将数组值作为对象键传递,并将该键与对象中的某些值相关联。然后将其传递给列表项
- c# - 使用 Magick.NET 压缩图像不会减少太多
- php - 用guzzle下载pdf
- java - Spring starter 项目在创建项目时带来错误