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中的字典与成员运算符初步探究
Oct 13 Python
10个Python小技巧你值得拥有
Sep 29 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
详解Python requests 超时和重试的方法
Dec 18 Python
Python3模拟登录操作实例分析
Mar 12 Python
将Python字符串生成PDF的实例代码详解
May 17 Python
python实现按首字母分类查找功能
Oct 31 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
Pyecharts地图显示不完成问题解决方案
May 11 Python
keras得到每层的系数方式
Jun 15 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
Oct 31 Python
python 获取计算机的网卡信息
Feb 18 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
完美解决thinkphp验证码出错无法显示的方法
2014/12/09 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
jQuery中prop()方法用法实例
2015/01/05 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
python制作小说爬虫实录
2017/08/14 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
Python request操作步骤及代码实例
2020/04/13 Python
Python实时监控网站浏览记录实现过程详解
2020/07/14 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
linux面试题参考答案(6)
2014/08/29 面试题
自荐书4要点
2014/01/25 职场文书
致共产党员倡议书
2014/04/16 职场文书
保护环境倡议书100字
2014/05/19 职场文书
2014年副班长工作总结
2014/12/10 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
小学英语教学随笔
2015/08/14 职场文书
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫