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 相关文章推荐
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
python绘制简单彩虹图
Nov 19 Python
Python3.5文件修改操作实例分析
May 01 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 Python
安装好Pycharm后如何配置Python解释器简易教程
Jun 28 Python
PyTorch预训练的实现
Sep 18 Python
Pytorch Tensor的统计属性实例讲解
Dec 30 Python
Python调用Windows命令打印文件
Feb 07 Python
SpringBoot实现登录注册常见问题解决方案
Mar 04 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
Python是怎样处理json模块的
Jul 16 Python
python实现ROA算子边缘检测算法
Apr 05 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
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
超强分页类2.0发布,支持自定义风格,默认4种显示模式
2007/01/02 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
js异步编程小技巧详解
2017/08/14 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
Java 生成随机字符的示例代码
2021/01/13 Javascript
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
python实现批量图片格式转换
2020/06/16 Python
flask入门之文件上传与邮件发送示例
2018/07/18 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
个人简历中的自我评价范例
2013/10/29 职场文书
个人工作主要事迹
2014/05/08 职场文书
物流专业自荐信
2014/05/23 职场文书
体现团队精神的口号
2014/06/06 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
聘任书格式及范文
2015/09/21 职场文书
python scrapy简单模拟登录的代码分析
2021/07/21 Python
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技