如何用Beautiful Soup和requests.get()获取网页商品库存数量?
关于获取LightInTheBox商品库存的问题
单纯用requests.get()结合BeautifulSoup很难直接获取到这类商品的库存数量,原因如下:
这类电商平台的库存数据大多是动态加载的——初始请求返回的HTML源码里不会包含库存数值,而是等页面加载完成后,通过前端JS发起AJAX请求从后端接口拉取数据,再渲染到页面上。
给你几个可行的解决思路:
- 抓AJAX接口:打开浏览器开发者工具(按F12)切换到「Network」标签,刷新商品页或切换商品规格(如尺码、颜色),过滤XHR/fetch类型的请求,找到返回库存数据的接口。之后直接用
requests请求该接口即可获取库存,无需解析HTML。 - 模拟浏览器渲染:如果接口加密难以抓取,可使用
selenium、playwright这类工具模拟完整的浏览器加载过程,等页面JS渲染完成后,再定位库存元素提取数值。 - 提取页面JS变量:部分网站会把库存数据嵌入到页面的
<script>标签的全局变量中,你可以用BeautifulSoup提取对应script内容,再通过正则匹配或JSON解析工具从中提取库存值。
内容的提问来源于stack exchange,提问作者etel876
相关产品推荐
相关产品推荐

