千家信息网

如何利用Python爬虫爬取网站音乐

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,小编给大家分享一下如何利用Python爬虫爬取网站音乐,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体实现1.引入发送网
千家信息网最后更新 2025年01月21日如何利用Python爬虫爬取网站音乐

小编给大家分享一下如何利用Python爬虫爬取网站音乐,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

具体实现

1.引入发送网络请求的第三方库

import requests # 发送网络请求的第三方库

安装方法

pip install requests

2.引入数据解析第三方库

from lxml import etree # 数据解析第三方库

安装方法

pip install lxml

3.某易云音乐网站列表url为'https://music.163.com/#/discover/toplist?id=3778678'

url = 'https://music.163.com/#/discover/toplist?id=3778678'

4.发送请求获取页面数据

response = requests.get(urlurl=url) # 请求页面数据

5.解析数据

html=etree.HTML(response.text) # 解析页面数据

6.获取所有歌曲标签集合( a标签 )

id_list = html.xpath('//a[contains(@href,"song?")]')  # 所有歌曲id集合

7.下载歌曲

base_url = 'http://music.163.com/song/media/outer/url?id=' # 下载音乐网址前缀  # 下载音乐url = 网址前缀 + 音乐id  for data in id_list:      href = data.xpath('./@href')[0]      music_id = href.split('=')[1] # 音乐id      music_url = base_url + music_id # 下载音乐url      music_name = data.xpath('./text()')[0] # 下载音乐名称      music = requests.get(url = music_url)      # 将下载的音乐以文件形式保存下来      with open('./music/%s.mp3' % music_name, 'wb') as file:           file.write(music.content)           print('<%s>下载成功' % music_name)

遇到的坑

以上的方法我是从一个视频里学到的,那个视频是半年前出的,可能当时这种方法还好使,但是今天我在用这种方法下载音乐文件的时候突然就报错了。

首先,编辑器报错找不到 music_name 和 music_id ,我仔细一看,获取的id_list集合里(也就是标签集合里)的id根本不是id,是代码,估计在这里音乐网站也做了相应的反扒机制。

其次,我自己在网站里找到了一首音乐获取了它的id并把id赋值给music_id,结果当用外链下载音乐时报错460,显示网络拥挤,估计下载音乐的网址也不好使了。

base_url = 'http://music.163.com/song/media/outer/url?id='  music_id = '1804320463.mp3'  music_url = base_url + music_id  music = requests.get(url=music_url)  print(music.text)

{"msg":"网络太拥挤,请稍候再试!","code":-460,"message":"网络太拥挤,请稍候再试!"}

最后,我打印出music_url,点击进去,还是可以听歌和下载的,不知道这是为什么了

base_url = 'http://music.163.com/song/media/outer/url?id='  music_id = '1804320463.mp3'  music_url = base_url + music_id  # music = requests.get(url=music_url)  print(music_url)

以上是"如何利用Python爬虫爬取网站音乐"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

音乐 数据 网站 方法 网络 第三方 标签 歌曲 篇文章 网址 页面 爬虫 内容 前缀 文件 视频 音乐网站 成功 不好 不怎么 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云虹网络技术 node 连接数据库 网络连接已断开服务器主动断开 可以把服务器安装到虚拟机吗 网络安全的密码算法 软件开发插件在哪里买 君临天下服务器 小学生网络安全防诈骗常识 网络安全主流架构 加强网络安全管理 经验 清镇市网络安全宣传周 移动服务器多少钱一台 网络安全宣传的重要 软件开发和销售销售的区别 软件开发合同审核要点 军营网络安全训练周新闻稿 微小企业可以申请网络技术公司吗 一二三四五六年级网络安全绘画 抖音直播怎么设置数据库 数据库系统概论第七版pdf 软件开发人员职业寿命 上海昂狐网络技术有限公司 网络安全广告制作画报图片 戴尔服务器噪音大怎么解决 美国服务器租用Zenlayer 360随身wif支持服务器吗 计算机网络技术基础电子书 安卓系统软件开发哪家好 王牌战争服务器维护一般多长时间 网络安全配置命令英语
0