You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Web Scraping新手求助:提取商品名称、库存状态与价格

解决方案:无需字符串切片,用BeautifulSoup选择器直接提取

不需要用字符串切片,直接通过BeautifulSoup的CSS选择器定位目标子元素更可靠,也更易维护。以下是针对你拿到的b-sticky-panel__holder元素的最简提取方案:

提取步骤及代码示例

假设你已经通过如下方式获取到了目标元素:

from bs4 import BeautifulSoup
import requests

url = "https://allbest.kz/p98634475-oneplus-9rt-12256gb.html"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
sticky_panel = soup.find(class_="b-sticky-panel__holder")

接下来提取三个信息:

  • 商品名称:定位面板内的标题元素,直接获取文本:
product_name = sticky_panel.find(class_="b-sticky-panel__title").get_text(strip=True)
  • 库存状态:找到库存状态对应的元素,提取文本后判断是否为缺货:
stock_status = sticky_panel.find(class_="b-sticky-panel__stock").get_text(strip=True)
is_out_of_stock = stock_status == "Нет в наличии"
  • 价格信息:定位价格元素,提取文本后可按需处理格式:
price_text = sticky_panel.find(class_="b-sticky-panel__price").get_text(strip=True)
# 如果需要提取纯数字价格,可进一步处理:
import re
price = re.sub(r"[^\d]", "", price_text)  # 移除所有非数字字符

为什么不用字符串切片?

字符串切片完全依赖元素文本的固定位置,一旦网站调整页面文案格式(比如增加空格、修改措辞),你的代码就会失效。而通过CSS类名定位元素,只要网站的类命名规则不变,代码就能稳定运行,容错性更强。

内容的提问来源于stack exchange,提问作者Nurbek Kuantyrov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:06:19