如何利用Python爬虫爬取网站音乐
发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,小编给大家分享一下如何利用Python爬虫爬取网站音乐,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体实现1.引入发送网
千家信息网最后更新 2024年09月23日如何利用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安全错误
数据库的锁怎样保障安全
中心管理服务器多少钱一台
乐鑫嵌入式软件开发笔试题
无线传感网络安全杨庚
游客服务数据库关系图
软件开发用到哪些软件
微信基础网络安全是什么
麻将软件开发上海公司
难道吉他谱软件开发
数据库order by
宏达软件开发难吗
计算机网络技术的职业目标
软件开发工程师报名时间
网络安全短信验证
阿里巴巴的网络安全部署多久
网络安全事件的数量
本地数据库地址怎么设置
江苏综合软件开发活动方案
腾讯软件开发实训
网络安全周宣传资料
宝塔的数据库无法访问
网络安全的素材图片
网络安全法试听
小d协同服务器
为什么选择移动软件开发
出现网络安全问题怎么办
数据库怎么考试
南京才丰软件开发笔试题
签名包中可打包多少数据库
北京微创梦科网络技术有限公司
奉贤区软件开发哪家好