import requests
from bs4 import BeautifulSoup
def get_data(page=1):
# 定义目标URL,该URL指向酷狗音乐排行榜页面
url = f"https://www.kugou.com/yy/rank/home/{page}-8888.html?from=rank"
# 设置请求头,模拟浏览器访问,避免被服务器拒绝访问
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"
}
# 使用requests库发送GET请求,获取网页内容
response = requests.get(url, headers=headers)
# 获取响应的文本内容
content = response.text
# 初始化一个空列表,用于存储歌曲标题
titles = []
# 使用BeautifulSoup解析网页内容,指定解析器为lxml
soup = BeautifulSoup(content, "lxml")
# 查找包含排行榜内容的div元素,id为"rankWrap"
div = soup.find("div", id="rankWrap")
# 在找到的div元素中,继续查找ul元素
ul = div.find("ul")
# 遍历ul元素中的所有li元素
for li in ul.find_all("li"):
# 在每个li元素中查找a元素
a = li.find("a")
# 获取a元素的文本内容
title = a.get_text()
# 将获取到的文本内容按空格分割,取第一个元素,并去除首尾空白字符,然后添加到titles列表中
titles.append(title.split()[0].strip())
# 返回包含所有歌曲标题的列表
return titles
if __name__ == "__main__":
for i in range(1, 24):
data = get_data(i)
print(data)