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中的闭包实例详解
Aug 29 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
Jun 20 Python
CentOS7下python3.7.0安装教程
Jul 30 Python
python绘制中国大陆人口热力图
Nov 07 Python
python3去掉string中的标点符号方法
Jan 22 Python
Python数据处理篇之Sympy系列(五)---解方程
Oct 12 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
Python拼接字符串的7种方式详解
Mar 19 Python
通过实例解析python创建进程常用方法
Jun 19 Python
python和JavaScript哪个容易上手
Jun 23 Python
pytorch中index_select()的用法详解
Jan 06 Python
删除pycharm鼠标右键快捷键打开项目的操作
Jan 16 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
骨王战斗力在公会成员中排不进前五,却当选了会长,原因竟是这样
2020/03/02 日漫
使用PHP和XSL stylesheets转换XML文档
2006/10/09 PHP
PHP 时间日期操作实战
2011/08/26 PHP
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
搭建pomelo 开发环境
2014/06/24 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
JavaScript中字符串拼接的基本方法
2015/07/07 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
node跨域请求方法小结
2017/08/25 Javascript
Vue动态获取width的方法
2018/08/22 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
python创建和删除目录的方法
2015/04/29 Python
在Linux系统上安装Python的Scrapy框架的教程
2015/06/11 Python
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
python使用opencv读取图片的实例
2017/08/17 Python
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
快速查找Python安装路径方法
2020/02/06 Python
英国儿童鞋和靴子:Start-Rite
2019/05/06 全球购物
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
公司周年庆典邀请函
2014/01/12 职场文书
50岁生日感言
2014/01/23 职场文书
高校教师自荐信范文
2014/03/13 职场文书
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers