打开网易云音乐热歌榜https://music.163.com/discover/toplist?id=3778678或其他榜单,获取网页代码,解析网页获取歌曲id和名称,时长和歌手,输出并保存到music.csv文件
时间: 2024-02-04 13:01:50 浏览: 53
好的,这是一个比较复杂的任务,需要用到 Python 的 Requests、BeautifulSoup 和 Pandas 库。以下是代码实现:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 获取网页代码
url = 'https://music.163.com/discover/toplist?id=3778678'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# 解析网页获取歌曲信息
songs = soup.find('tbody').find_all('tr')
data = []
for song in songs:
rank = song.find('td', class_='num').text.strip()
name = song.find('b', class_='txt').text.strip()
duration = song.find('span', class_='u-dur').text.strip()
artist = song.find('span', class_='s-fc8').text.strip()
data.append([rank, name, duration, artist])
# 输出并保存到CSV文件
df = pd.DataFrame(data, columns=['排名', '歌曲名称', '时长', '歌手'])
df.to_csv('music.csv', index=False, encoding='utf-8-sig')
print(df)
```
这段代码会访问网易云音乐热歌榜的网页,解析网页代码,获取歌曲的排名、名称、时长和歌手,然后将结果输出到控制台并保存到 music.csv 文件中。你可以修改代码中的 URL 地址来获取其他榜单的歌曲信息。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
import requests # 发送请求 import re url = 'https://music.163.com/discover/toplist?id=3779629' headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.41'} response = requests.get(url,headers=headers)#请求成功 获取数据 html_data=response.text info_list_=re.findall('(.*?)',html_data)#?:非贪婪匹配 for music in info_list_: # print(music[0],music[1]) # music.add(music[0],music[1]) id=music[0] name=music[1] music=[id,name] with open('D:/桌面/爬虫期末/music.text','w',encoding='utf-8')as fp: fp.write(str(music)),为什么只有一条数据
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)