Python下载网易云歌单歌曲的示例代码

 更新时间:2020年08月12日 14:09:43   作者:FORMAT-qi  
这篇文章主要介绍了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编程中类与类的关系以及相关代码知识点,需要的朋友们可以学习下。
    2019-08-08
  • Python实现绘制3D地球旋转效果

    Python实现绘制3D地球旋转效果

    这篇文章主要为大家详细介绍了如何利用Python实现绘制出3D地球旋转的效果,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
    2023-02-02
  • python实现数独算法实例

    python实现数独算法实例

    这篇文章主要介绍了python实现数独算法,实例分析了Python数独算法的实现技巧,需要的朋友可以参考下
    2015-06-06
  • 利用Python编写一个简单的缓存系统

    利用Python编写一个简单的缓存系统

    今天来做一个最简单的例子,利用写一个最简单的缓存系统,以key``value的方式保持数据,并且需要将内容中的数据落地到文件,以便下次启动的时候,将文件的内容加载进内存中来,感兴趣的可以了解一下
    2023-04-04
  • Keras自定义IOU方式

    Keras自定义IOU方式

    这篇文章主要介绍了Keras自定义IOU方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python3中rsa加密算法详情

    python3中rsa加密算法详情

    这篇文章主要介绍了python3中rsa加密算法详情,rsa加密,是一种加密算法,目前而言,加密算法,是对数据、密码等进行加密,下文更多相关介绍,需要的小伙伴可以参考一下
    2022-05-05
  • opencv模板匹配相同位置去除重复的框

    opencv模板匹配相同位置去除重复的框

    这篇文章主要介绍了opencv模板匹配相同位置去除重复的框,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 深入了解Python中的时间处理函数

    深入了解Python中的时间处理函数

    这篇文章主要是和大家一起探索python中的时间处理函数,让大家彻底弄懂时间处理。文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2021-12-12
  • Python和Plotly实现3D图形绘制

    Python和Plotly实现3D图形绘制

    在当今的数据分析和可视化领域,Python已经成为一种不可或缺的工具,Plotly作为一种高级的绘图库,特别擅长于创建交互式和3D图形,下面我们就来看看Python如何利用Plotly实现3D图形绘制吧
    2024-11-11
  • Scrapy框架介绍之Puppeteer渲染的使用

    Scrapy框架介绍之Puppeteer渲染的使用

    这篇文章主要介绍了Scrapy框架介绍之Puppeteer渲染的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06

最新评论