Python下载网易云歌单歌曲的示例代码


Posted in Python onAugust 12, 2020

今天写了个下载脚本,记录一下

效果:

Python下载网易云歌单歌曲的示例代码

直接上代码:

# 网易云 根据歌单链接下载MP3歌曲
import requests
from bs4 import BeautifulSoup

def main():
  url = "https://music.163.com/#/playlist?id=3136952023" # 歌单地址 请自行更换
  if '/#/' in url:
    url = url.replace('/#/', '/')
  headers = {
    'Referer': 'http://music.163.com/',
    'Host': 'music.163.com',
    'cookie': '自己去网站拿,获取方式在下边',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
  }

  s = requests.session()
  try:
    response = s.get(url, headers=headers).content
    soup = BeautifulSoup(response, 'lxml')
    lis = list(soup.find('ul'))
    fatherlis = ['歌单名:' + str(soup.find('h2').string)]
    for i in lis:
      sonlis = []
      sonlis.append(str(len(fatherlis)) + '.')
      sonlis.append(i.a.string)
      sonlis.append(str(i.a.get('href'))[str(i.a.get('href')).find('=') + 1:-1] + str(i.a.get('href'))[-1])
      fatherlis.append(sonlis)
  except:
    print("\n\t歌曲链接输入错误")
    exit('ERROR!')
  format = '{0:<10}\t{1:{3}<10}\t{2:<10}'
  print("从'{}'中找到了{}条歌曲".format(str(soup.find('h2').string), len(fatherlis) - 1))
  print('-------------------------------------------------------------------------------------------------')
  print('序号     歌曲名称    歌曲链接')
  for i in fatherlis:
    if fatherlis.index(i) == 0:
      continue
    else:
      print(
        format.format(i[0], i[1], 'http://music.163.com/song/media/outer/url?id=' + i[2] + '.mp3', chr(12288)))
      download_music(i[2],i[1])
  print('##########################下载完成##########################')

# 歌曲下载
def download_music(song_id,song_name):
  file = "./music/" # 保存音乐的文件路径
  wurl = "https://link.hhtjim.com/163/" # 外链地址
  song_url = wurl + song_id + ".mp3"
  # 获取歌曲16进制编码
  song = requests.get(song_url).content
  # 获取歌曲名称
  # 保存文件
  with open(file + song_name + '.mp3', 'wb') as f:
    f.write(song)
if __name__ == '__main__':
  main()

cookie获取方式

登录网易云web版 https://music.163.com/

Python下载网易云歌单歌曲的示例代码

复制粘贴到上方代码中,开始下载就好了

到此这篇关于Python下载网易云歌单歌曲的示例代码的文章就介绍到这了,更多相关Python下载网易云歌单内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python多线程学习资料
Dec 19 Python
python爬虫入门教程之糗百图片爬虫代码分享
Sep 02 Python
python 根据pid杀死相应进程的方法
Jan 16 Python
Windows和Linux下Python输出彩色文字的方法教程
May 02 Python
python并发2之使用asyncio处理并发
Dec 21 Python
python处理csv数据动态显示曲线实例代码
Jan 23 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
Jan 29 Python
python实现可逆简单的加密算法
Mar 22 Python
Django框架模板的使用方法示例
May 25 Python
python自动化操作之动态验证码、滑动验证码的降噪和识别
Aug 30 Python
彻底弄懂Python中的回调函数(callback)
Jun 25 Python
Python爬取12306车次信息代码详解
Aug 12 #Python
Python读取xlsx数据生成图标代码实例
Aug 12 #Python
Idea安装python显示无SDK问题解决方案
Aug 12 #Python
Python selenium如何打包静态网页并下载
Aug 12 #Python
Python selenium爬取微信公众号文章代码详解
Aug 12 #Python
PyQt5 QDockWidget控件应用详解
Aug 12 #Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 12 #Python
You might like
简单的页面缓冲技术
2006/10/09 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
JS写滑稽笑脸运动效果
2020/05/28 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
python基础教程之字典操作详解
2014/03/25 Python
Python程序中的观察者模式结构编写示例
2016/05/27 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
python 一个figure上显示多个图像的实例
2019/07/08 Python
在python shell中运行python文件的实现
2019/12/21 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
python开根号实例讲解
2020/08/30 Python
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
软件测试面试题
2014/01/05 面试题
体育老师的教学自我评价分享
2013/11/19 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
对外汉语专业大学生职业生涯规划书
2014/10/11 职场文书
党校个人总结
2015/03/04 职场文书
党员转正党支部意见
2015/06/02 职场文书
教师读书活动心得体会
2016/01/14 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书