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

如何设置find_all参数抓取Billboard Hot 100歌曲标题?技术求助

解决Billboard Hot 100歌曲标题抓取问题

要获取歌曲标题'About Damn Time',你需要定位页面中对应标题的HTML元素。查看网页结构后,歌曲标题都在h3标签内,且带有特定的class属性,你可以用以下两种方式修改代码中的find_all部分:

方法1:使用标签+Class定位

import requests
import bs4

url = 'https://www.billboard.com/charts/hot-100/'

song_title = []

res = requests.get(url)
soup = bs4.BeautifulSoup(res.text, 'lxml')
# 定位所有歌曲标题标签
tags = soup.find_all('h3', class_='c-title a-no-trucate')

# 提取并整理标题文本
for tag in tags:
    clean_title = tag.get_text(strip=True)
    song_title.append(clean_title)

# 打印目标标题(列表第一个元素就是'About Damn Time')
print(song_title[0])

方法2:使用CSS选择器(更简洁)

如果你习惯用CSS选择器,也可以替换成:

tags = soup.select('h3.c-title.a-no-trucate')

说明

页面中每首歌的标题都被包裹在h3标签中,c-title a-no-trucate是识别标题的核心class组合,用这个定位能精准获取所有Hot 100歌曲标题。get_text(strip=True)用于去除文本前后的空白字符,得到整洁的标题内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:54:23