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

如何使用Beautiful Soup抓取指定class的ul标签内的票房数据

错误代码问题梳理

以下是提交的代码存在的共性问题:

  • movie-info-item-value是HTML元素data-qa属性的取值,既不是标签名也不是类名,不能直接作为查找参数传入
  • BeautifulSoup的get()方法用于提取当前标签的属性值,不能用于查找子元素
  • CSS选择器匹配自定义属性需要使用[属性名="属性值"]的语法格式

可行实现方案

写法1:属性匹配+相邻节点查找(通用稳妥,不依赖具体票房数值)

# 先定位票房对应的标签说明
box_office_label = soup.find("div", {"data-qa": "movie-info-item-label"}, string="Box Office (Gross USA):")
# 查找说明标签后相邻的数值节点,提取文本并去除首尾空白
box_office_value = box_office_label.find_next_sibling("div", {"data-qa": "movie-info-item-value"}).text.strip()
print(box_office_value) # 输出结果:$64.3M

写法2:CSS选择器直接定位

# 直接匹配所有data-qa属性为movie-info-item-value的div,取第一个节点(就是票房对应的元素)
box_office_value = soup.select_one('div[data-qa="movie-info-item-value"]').text.strip()
print(box_office_value)

内容的提问来源于stack exchange,提问作者B Perera

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:27:05