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 + openpyxl处理excel2007文档思路以及心得
Jul 14 Python
从Python的源码浅要剖析Python的内存管理
Apr 16 Python
在django中使用自定义标签实现分页功能
Jul 04 Python
python中将函数赋值给变量时需要注意的一些问题
Aug 18 Python
python 全局变量的import机制介绍
Sep 07 Python
Python中scatter函数参数及用法详解
Nov 08 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
利用python计算windows全盘文件md5值的脚本
Jul 27 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
Mar 16 Python
使用pyecharts1.7进行简单的可视化大全
May 17 Python
Python基础之字符串格式化详解
Apr 21 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
PHP分页详细讲解(有实例)
2013/10/30 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
Javascript 各浏览器的 Javascript 效率对比
2008/01/23 Javascript
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
更靠谱的H5横竖屏检测方法(js代码)
2016/09/13 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
python切换hosts文件代码示例
2013/12/31 Python
使用Python开发windows GUI程序入门实例
2014/10/23 Python
Python class的继承方法代码实例
2020/02/14 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
python中_del_还原数据的方法
2020/12/09 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
介绍一些UNIX常用简单命令
2014/11/11 面试题
房产买卖委托公证书
2014/04/04 职场文书
房展策划方案
2014/06/07 职场文书
公益广告标语
2014/06/19 职场文书
个人务虚会发言材料
2014/10/20 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
2014年车间工作总结
2014/11/21 职场文书
先进学校事迹材料
2014/12/30 职场文书
归元寺导游词
2015/02/06 职场文书
如何写辞职书
2015/02/26 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
一篇文章弄懂Python关键字、标识符和变量
2021/07/15 Python
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS