爬取 listen 1 网易云精选歌单歌曲
前言
看了下listen 1 网易云精选歌单和复制链接过去的歌单请求的网址是不一样的,暂时只做了网易云精选歌单的爬取,有时间会改进,占坑
如果需要listen 1网易的歌曲单个手动下,很简单的,拉到法二看就可以了
一、法一:
1.1、效果图
1.2、代码
代码直接复制过去运行就可以了,有做异常处理,应该不会报错,报错可以提出来哈,有时间再详细再解说代码
# encoding : utf-8
# @author : Phecda
# @IDE : PyCharm
# @project : Code
# @Time : 2020/9/7 23:49
# @CSDN : https://blog.csdn.net/Megrez_Deltaimport os
import pprint
import reimport requestswhile True:# strip()去除首尾空格en = input("请输入listen1中encSeckey的值:".strip())pa = input("请输入listen1中params的值:".strip())# https://music.163.com/#/playlist?id=5096680172url = "https://music.163.com/weapi/v3/song/detail"data = {"encSecKey": en,"params": pa}response = requests.post(url=url, data=data)html = response.content.decode()# print(html)pattern = re.compile(r'{"name":".*?","id":\d+', re.S)# print(pattern)t = pattern.findall(html)# print(t)for s in t:# print(s)# print(type(s))fn = s.split('\"')[3]# 将不符合windows文件命名规范的文件名用 _ 替换file_name = re.sub(r'[/\:?*"<>|]+', '_', fn)file_id = s.split('\"')[6].strip('\:')# print(file_name)print('正在读取 {}.mp3'.format(file_name))# 网易外链下载file_url = "http://music.163.com/song/media/outer/url?id={}".format(file_id)file_dir = "E:\PyCharm\Code\Spider\网易云歌曲"file_path = r"{}/{}.mp3".format(file_dir, file_name)print(file_name, file_id, file_url)if not os.path.exists(file_dir):os.makedirs(file_dir)with open(file_path, "wb") as mu:try:# 伪装请求头headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"}req = requests.get(file_url, headers=headers)# print("正在读取 {}.mp3".format(file_name))mu.write(req.content)# print(req)# 如果req有数据if req:print("下载 {}.mp3 成功".format(file_name))print()except Exception as e:print("读取 {}.mp3 失败".format(file_name))continue
1.3、运行
因为暂时不知道用js解密,所以运行是手动传参过去的,可能有点麻烦
1.进精选歌单首页,按F12打开开发者工具,选到Network模式
2.选择你想要爬取的歌单,点进去
3.找到detail比较大的那个文件,比较小的那个歌曲不全
4.单击detail,找到Hearders滑到最下面的Form Data把enSecKey和params复制过去
如果你没有改路径的话,你的文件在 E:\PyCharm\Code\Spider\网易云歌曲 就能找到
二、法二(手动下载单个歌曲)
2.1 F12进入开发者模式切换到Network下,再单击您想要下载的歌曲播放
2.2 找到后缀名为 .m4a 的文件,双击就可以下载
2.3拖到网易就能打开,或者将打开方式设置为网易云
2.4 确定
2.5 可以看到你双击就会自动用网易云播放了
小福利:
送大家一个下载vip歌曲的网站 http://video.haokanba.top/music/
爬取 listen 1 网易云精选歌单歌曲相关推荐
- python爬取音乐歌曲大全_Python爬取网易云音乐歌单歌曲
# 从网易云音乐下载歌单歌曲 # 参考了这些网址 # https://blog.csdn.net/Ciiiiiing/article/details/62434438 # https://github ...
- python网易云热歌榜歌曲信息爬取(iframe框架内数据爬取,src为空)
为一线医护人员加油! 为武汉加油! 为中国加油! 为世界加油! 此爬虫是本人参考了了一位前辈的文章,并修改和优化了代码: 1.改为python3环境: 2.优化了抓取的歌曲时长中带一长串小数的问题: ...
- selenium切换iframe框架案例——翻页爬取网易云音乐歌单作者和名称
翻页爬取网易云音乐歌单作者和标题 案例目的: 通过翻页selenium操作网易云音乐,介绍如何切换iframe框架以及如何使用selenium定位数据所在的节点. 代码功能: 输入下载的数据页数,自动 ...
- 用python爬取网易云音乐歌单列表
本文分为两个部分:基础知识和正文,其中基础知识包括什么正则表达式以及Beautifulsoup4的使用. 一.正则表达式 正则表达式用于字符串查找.合法性检查以及作为程序员的工具箱使用. 字符串查找: ...
- Python数据分析初探项目 基于Python数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022年)
Python 数据分析初探项目 基于 Python 数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022 年) Python 数据分析初探项目 基于 Python 数据可 ...
- 零基础如何用 15 行 Python 代码搞定网易云热门歌单?
健身.吃饭.敲代码:等车.撸猫.下午茶--若能佐以合适的音乐当"配餐",总是惬意非常.本文就将带你爬一爬网易云的那些热门歌单! 作者 | 上海小胖 责编 | 仲培艺 心情好或心情坏 ...
- python核心编程:大神如何用15行Python代码实现网易云热门歌单实例教程
这篇文章主要给大家介绍了关于利用15行Python代码实现网易云热门歌单的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学 ...
- 网易云音乐歌单生成外链播放器
(一)自己创建的歌单没有生成外链选项的解决方法 解决方法: 1.分享歌单 2.打开分享界面的歌单链接 3.打开歌单即可看到生成外链的点击链接 (二)网易云音乐歌单因为版权原因无法生成外链的解决方法 1 ...
- Android自定义view之网易云推荐歌单界面
系列文章目录 Android自定义view之网易云推荐歌单界面 文章目录 系列文章目录 前言 一.实现 1.自定义一个圆角图片控件(也可直接使用第三方框架) 2.进行布局摆设 3.图片切换动画效果 二 ...
最新文章
- 验证曲线( validation curve)是什么?如何绘制验证曲线( validation curve)?验证曲线( validation curve)详解及实践
- HTML5 基础知识(二)
- 我在中国图书网不愉快的购书经历!!!!!!!
- bzoj 4566 找相同字符 —— 广义后缀自动机
- Vista Media Center 开发之深入浅出 (二) --Vista Media Center 程序的新建及部署
- java自定义异常报错
- jenkins java_具有WildFly,Arquillian,Jenkins和OpenShift的Java EE 7部署管道
- Markdown--语法说明
- 《深入理解计算机系统》CSAPP
- 三年制专转本计算机,三年制专转本和五年制专转本的区别
- MySQL建表时Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP
- PCL之统计异常值去除滤波器--StatisticalOutlierRemoval
- 极大似然估计的通俗理解
- 阿里云DDNS+iKuai 软路由+证书安装
- python自动化运维平台搭建_OMserver自动化运维平台搭建及测试
- (转)11gR2新特性:Heavy swapping observed on system in last 5 mins
- 一元线性回归方程C语言实现
- noip模拟赛 终末
- java双冒号_jdk8新特性之双冒号 :: 用法及详解
- c 语言中并查集的用法,并查集基本介绍