特么的,上次写了一堆,发现,原来下载网易云的歌曲根本不用这么费劲,直接用!

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 直接下载歌曲的实例相关推荐

  1. python爬取qq音乐周杰伦_Python爬取QQ音乐url及批量下载

    QQ音乐还是有不少的好音乐,有些时候想要下载好听的音乐,如果在网页下载都是还需要登录什么的.于是,来了个QQmusic的爬虫.至少我觉得for循环爬虫,最核心的应该就是找到待爬元素所在url吧. 参考 ...

  2. python断网还能用吗_python 断网

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 环境:windows.python3.6解决办法:1. 主机a(虚拟环境激活)p ...

  3. python要学什么英文歌_Python分析网易云音乐近5年热门歌单

    由于同一歌单可能会有不同的分类,所以按这72种分类抓取的数据会有重复数据,剔重之后6.6万个热门歌单. 我按不同分类下歌单的相似度做了排行榜如下(红色部分表示相似度): 从相似度排行榜中看出流行音乐. ...

  4. python 公众号付费视频地址_python批量下载公众号内的视频

    我们选择自建图文 选择目标公众号 打开开发者工具 选择network,并重新搜索 获取到请求的url 打开url 我们需要重点关注画红框的部分,在我们之后的会使用到 我们根据上面的请求url变换beg ...

  5. python write非法字符报错_Python爬虫实现的微信公众号文章下载器

    平时爱逛知乎,收藏了不少别人推荐的数据分析.机器学习相关的微信公众号(这里就不列举了,以免硬广嫌疑).但是在手机微信上一页页的翻阅历史文章浏览,很不方便,电脑端微信也不方便. 所以我就想有什么方法能否 ...

  6. python flask 大文件 下载_python flask 建站之文件上传下载(一)

    公众号: 数据乐趣 如有建议和问题,敬请留言. 上一篇简单讲了一下Flask建站的大概流程,本篇举个Flask实例进行说明. 建站简介 实例功能是实现文件的上传和下载. 开发软件采用Pycharm,p ...

  7. python machinelearning下载_Python与机器学习系列1:Anaconda的下载与安装

    一.Anaconda的介绍 Anaconda是一个用于科学计算的Python发行版,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存.切换以及各种第三方包安装问题,并且已经包含了P ...

  8. python爬微信公众号视频_python爬虫公众号所有信息,并批量下载公众号视频

    之前写过一篇类似的文章:python爬取公众号,用最简单的方式爬虫 还有同学一直在问,可能中间有一些小细节不明确,这次彻底明确一下细节. 本篇添加一个批量下载公众号内视频的功能,可以实现完全复制一个公 ...

  9. 电脑python如何下载_Python for Windows 32位 v3.7.2下载|Python 3.7.2免费电脑版

    软件介绍:对于脚本语言比较号的版本很多人不得不提Python 3.7.2,首先是免费的版本就很吸引人了,因为很多人早有耳目,对于功能更加不会让你们失望,因为脚本收纳的丰富类目词库就可以支撑很多个日常操 ...

  10. python官网网址是什么意思_python官网是什么

    python官网就是python的官方网站,网址为www.python.org. python官网是我看过的比较简洁的官网之一.进入首页映入眼帘的首先是几个python代码的示例,用以表示python ...

最新文章

  1. Dubbo启动,调用方法失败【问题:调用超时】
  2. Java中的数据类型及相互转换方法
  3. 前端开发常见的浏览器兼容性问题?
  4. 流畅的Python 2. 数据结构 - 序列构成的数组
  5. Create groups 与 Create folder references的区别
  6. leetcode 2 --- 两数相加
  7. 如何摇晃一瓶水使其核聚变?
  8. 我的一篇思想汇报——君子务本,本立而道生
  9. mysql longtext db2_从 MySQL 或 PostgreSQL 迁移到 DB2 Express-C
  10. C++ 常见编译错误解决办法
  11. JSP编程中遇到的问题及解决
  12. 迅雷对非会员进行下载限速的解决方案
  13. Proteus器件查找
  14. 个性时钟屏保=冷高轮时间麻将时钟电脑屏幕保护
  15. 大业达公司裁员风云2
  16. 布袋除尘器过滤风速多少_布袋除尘器过滤风速的选择!
  17. 泰拉瑞亚灾厄模组鸿蒙方舟,泰拉瑞亚灾厄Mod介绍大全 灾厄Mod物品装备BOSS图文介绍 BOSS:亵渎之神-游侠网...
  18. python程序设计重点_Python程序设计
  19. <linux> busybox制作rootfs
  20. 树莓派4B上多版本python切换(一)

热门文章

  1. 【转】Snagit 8.0使用方法
  2. 《计算机操作系统(慕课版)》(汤小丹著)课后习题答案
  3. JavaFTP文件传输 简单实现
  4. win98 支持html5,90后第一次接触Windows98,20多年了,居然还有人使用!
  5. 家谱宗族网站源码_云码宗谱网络家谱软件
  6. 用算法去扫雷(go语言)
  7. 计算机类毕业设计源码大全
  8. 谷歌搜索算法分析及应对策略
  9. java百度地图离线LBS_百度地图之离线下载功能
  10. 当电脑接双屏扩展显示器时,系统崩溃,QQ浏览器出现显示异常,通过如下方法使之正常