python网易云付费歌曲下载_python 根据网易云歌曲的ID 直接下载歌曲的实例
特么的,上次写了一堆,发现,原来下载网易云的歌曲根本不用这么费劲,直接用!
http://music.163.com/song/media/outer/url?id=这里填歌曲id.mp3
这个URL就可以下载了,真特么操蛋!!
现在再来做一次!根据歌单下载歌曲
import requests,os,time,sys,re
from scrapy.selector import Selector
class wangyiyun():
def __init__(self):
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',
'Referer': 'http://music.163.com/'}
self.main_url='http://music.163.com/'
self.session = requests.Session()
self.session.headers=self.headers
def get_songurls(self,playlist):
'''进入所选歌单页面,得出歌单里每首歌各自的ID 形式就是“song?id=64006"'''
url=self.main_url+'playlist?id=%d'% playlist
re= self.session.get(url) #直接用session进入网页,懒得构造了
sel=Selector(text=re.text) #用scrapy的Selector,懒得用BS4了
songurls=sel.xpath('//ul[@class="f-hide"]/li/a/@href').extract()
return songurls #所有歌曲组成的list
##['/song?id=64006', '/song?id=63959', '/song?id=25642714', '/song?id=63914', '/song?id=4878122', '/song?id=63650']
def get_songinfo(self,songurl):
'''根据songid进入每首歌信息的网址,得到歌曲的信息
return:'64006','陈小春-失恋王'''
url=self.main_url+songurl
re=self.session.get(url)
sel=Selector(text=re.text)
song_id = url.split('=')[1]
song_name = sel.xpath("//em[@class='f-ff2']/text()").extract_first()
singer= '&'.join(sel.xpath("//p[@class='des s-fc4']/span/a/text()").extract())
songname=singer+'-'+song_name
return str(song_id),songname
def download_song(self, songurl, dir_path):
'''根据歌曲url,下载mp3文件'''
song_id, songname = self.get_songinfo(songurl) # 根据歌曲url得出ID、歌名
song_url = 'http://music.163.com/song/media/outer/url?id=%s.mp3'%song_id
path = dir_path + os.sep + songname + '.mp3' # 文件路径
requests.urlretrieve(song_url, path) # 下载文件
def work(self, playlist):
songurls = self.get_songurls(playlist) # 输入歌单编号,得到歌单所有歌曲的url
dir_path = r'C:\Users\Administrator\Desktop'
for songurl in songurls:
self.download_song(songurl, dir_path) # 下载歌曲
if __name__ == '__main__':
d = wangyiyun()
d.work(2214059025)
搞定!代码简单得一塌糊涂,,真特么费脑子!!
以上这篇python 根据网易云歌曲的ID 直接下载歌曲的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
python网易云付费歌曲下载_python 根据网易云歌曲的ID 直接下载歌曲的实例相关推荐
- python爬取qq音乐周杰伦_Python爬取QQ音乐url及批量下载
QQ音乐还是有不少的好音乐,有些时候想要下载好听的音乐,如果在网页下载都是还需要登录什么的.于是,来了个QQmusic的爬虫.至少我觉得for循环爬虫,最核心的应该就是找到待爬元素所在url吧. 参考 ...
- python断网还能用吗_python 断网
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 环境:windows.python3.6解决办法:1. 主机a(虚拟环境激活)p ...
- python要学什么英文歌_Python分析网易云音乐近5年热门歌单
由于同一歌单可能会有不同的分类,所以按这72种分类抓取的数据会有重复数据,剔重之后6.6万个热门歌单. 我按不同分类下歌单的相似度做了排行榜如下(红色部分表示相似度): 从相似度排行榜中看出流行音乐. ...
- python 公众号付费视频地址_python批量下载公众号内的视频
我们选择自建图文 选择目标公众号 打开开发者工具 选择network,并重新搜索 获取到请求的url 打开url 我们需要重点关注画红框的部分,在我们之后的会使用到 我们根据上面的请求url变换beg ...
- python write非法字符报错_Python爬虫实现的微信公众号文章下载器
平时爱逛知乎,收藏了不少别人推荐的数据分析.机器学习相关的微信公众号(这里就不列举了,以免硬广嫌疑).但是在手机微信上一页页的翻阅历史文章浏览,很不方便,电脑端微信也不方便. 所以我就想有什么方法能否 ...
- python flask 大文件 下载_python flask 建站之文件上传下载(一)
公众号: 数据乐趣 如有建议和问题,敬请留言. 上一篇简单讲了一下Flask建站的大概流程,本篇举个Flask实例进行说明. 建站简介 实例功能是实现文件的上传和下载. 开发软件采用Pycharm,p ...
- python machinelearning下载_Python与机器学习系列1:Anaconda的下载与安装
一.Anaconda的介绍 Anaconda是一个用于科学计算的Python发行版,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存.切换以及各种第三方包安装问题,并且已经包含了P ...
- python爬微信公众号视频_python爬虫公众号所有信息,并批量下载公众号视频
之前写过一篇类似的文章:python爬取公众号,用最简单的方式爬虫 还有同学一直在问,可能中间有一些小细节不明确,这次彻底明确一下细节. 本篇添加一个批量下载公众号内视频的功能,可以实现完全复制一个公 ...
- 电脑python如何下载_Python for Windows 32位 v3.7.2下载|Python 3.7.2免费电脑版
软件介绍:对于脚本语言比较号的版本很多人不得不提Python 3.7.2,首先是免费的版本就很吸引人了,因为很多人早有耳目,对于功能更加不会让你们失望,因为脚本收纳的丰富类目词库就可以支撑很多个日常操 ...
- python官网网址是什么意思_python官网是什么
python官网就是python的官方网站,网址为www.python.org. python官网是我看过的比较简洁的官网之一.进入首页映入眼帘的首先是几个python代码的示例,用以表示python ...
最新文章
- Dubbo启动,调用方法失败【问题:调用超时】
- Java中的数据类型及相互转换方法
- 前端开发常见的浏览器兼容性问题?
- 流畅的Python 2. 数据结构 - 序列构成的数组
- Create groups 与 Create folder references的区别
- leetcode 2 --- 两数相加
- 如何摇晃一瓶水使其核聚变?
- 我的一篇思想汇报——君子务本,本立而道生
- mysql longtext db2_从 MySQL 或 PostgreSQL 迁移到 DB2 Express-C
- C++ 常见编译错误解决办法
- JSP编程中遇到的问题及解决
- 迅雷对非会员进行下载限速的解决方案
- Proteus器件查找
- 个性时钟屏保=冷高轮时间麻将时钟电脑屏幕保护
- 大业达公司裁员风云2
- 布袋除尘器过滤风速多少_布袋除尘器过滤风速的选择!
- 泰拉瑞亚灾厄模组鸿蒙方舟,泰拉瑞亚灾厄Mod介绍大全 灾厄Mod物品装备BOSS图文介绍 BOSS:亵渎之神-游侠网...
- python程序设计重点_Python程序设计
- <linux> busybox制作rootfs
- 树莓派4B上多版本python切换(一)