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

Web Scraper返回错误数据:爬取Billboard Hot100却得到新闻内容

问题原因分析

你的代码返回错误数据主要有两个核心问题:

1. URL拼接错误

代码里URL += URL + Year的写法完全错误,会生成重复的URL前缀。比如输入日期2023-01-01,最终生成的URL会是:

https://www.billboard.com/charts/hot-100/https://www.billboard.com/charts/hot-100/2023-01-01

这种无效URL会跳转到Billboard的错误页面或首页,自然只能抓取到新闻内容。正确的写法应该是直接将日期追加到原URL后:

URL = f"https://www.billboard.com/charts/hot-100/{Year}"
# 或者
URL = "https://www.billboard.com/charts/hot-100/" + Year

2. HTML选择器错误

你用id="title-of-a-story"的h3标签抓取歌曲名,但这个id对应的是Billboard网站的新闻标题,并非Hot100榜单的歌曲标题。当前Billboard Hot100页面中,歌曲标题的h3标签带有特定属性,比如data-testid="chart-element__information__song",正确的选择器应该是:

songs = soup.find_all(name='h3', attrs={'data-testid': 'chart-element__information__song'})

也可以通过class筛选(注意网站可能会更新class名称):

songs = soup.find_all('h3', class_='c-title a-no-trucate')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 16:39:20