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中的递归函数
Apr 27 Python
python线程、进程和协程详解
Jul 19 Python
Python面向对象之继承代码详解
Jan 29 Python
python write无法写入文件的解决方法
Jan 23 Python
对python多线程SSH登录并发脚本详解
Feb 14 Python
Python中的list与tuple集合区别解析
Oct 12 Python
Python socket模块ftp传输文件过程解析
Nov 05 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 24 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 Python
深度学习详解之初试机器学习
Apr 14 Python
python如何将mat文件转为png
Jul 15 Python
Python中的socket网络模块介绍
Jul 23 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 手机归属地查询 api
2010/02/08 PHP
FireFox浏览器使用Javascript上传大文件
2013/10/30 PHP
PHP链接MySQL的常用扩展函数
2014/10/23 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
NodeJS制作爬虫全过程
2014/12/22 NodeJs
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
微信小程序实现根据字母选择城市功能
2017/08/16 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
Python封装shell命令实例分析
2015/05/05 Python
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
python从入门到精通(DAY 2)
2015/12/20 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
英格兰足协官方商店:England Store
2019/07/12 全球购物
采购员岗位职责
2013/11/15 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
工商干部先进事迹
2014/05/14 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
历史学专业求职信
2014/06/19 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
法人单位授权委托书范文
2014/10/06 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
迟到检讨书范文
2015/01/27 职场文书
超强台风观后感
2015/06/09 职场文书