找回密码
  注册[Register]
查看: 1588|回复: 15

[python] [Python] 网易云歌单歌曲迅速批量下载(图形界面)

  [复制链接]
发表于 2020-11-26 11:01 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

为方便各位批量下载网易云歌单歌曲,弄了个这个玩意,带图形界面,不过界面有点随意。直接复制网易云歌单的网页地址,不过要记得去除‘/#’这两个字符。下载速度挺快的,秒下。
附上打包的exe文件。谢谢大家支持!!!


  1. import os
  2. import requests
  3. import urllib.request
  4. from bs4 import BeautifulSoup
  5. from tkinter import *

  6. def music_download():
  7. headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
  8. }
  9. if not os.path.exists('./网易云歌单/'):
  10. os.mkdir('./网易云歌单/')
  11. play_url = entry1.get()
  12. s = requests.session()
  13. response = s.get(play_url,headers=headers).content


  14. 主界面
  15. root = Tk()
  16. root.geometry('590x480+400+260')
  17. root.title('网易云歌单下载器')
  18. labell1 = Label(root,text = '请输入歌单的网页链接,记得去除#号哦',font=('微软雅黑',15))
  19. labell1.grid()
  20. entry1 = Entry(root,font=('微软雅黑',12))
  21. entry1.grid(row=2,column=0)

  22. text = Listbox(root, font=('微软雅黑', 16), width=40, height=10)
  23. text.grid(row=3, columnspan=1)

  24. b1 = Button(root, text='开始下载', font=('微软雅黑', 15),command=music_download)
  25. b1.grid(row=4, column=0)
  26. b2 = Button(root, text='退出程序', font=('微软雅黑', 15), command=root.quit)
  27. b2.grid(row=4, column=1)

  28. root.mainloop()
复制代码

  1. soup =BeautifulSoup(response,'lxml')
  2. music_data = soup.find('ul',class_='f-hide')
  3. lists = []
  4. for music in music_data.find_all('a'):
  5.     #print('{}:{}'.format(music.text,music['href']))
  6.     list = []
  7.     music_url = 'http://music.163.com/song/media/outer/url'+ music['href'][5:] + '.mp3'
  8.     print(music_url)
  9.     music_name = music.text
  10.     list.append(music_name)
  11.     list.append(music_url)
  12.     lists.append(list)
  13. #print(lists)
  14. os.chdir('.\网易云歌单')
  15. b = os.getcwd()
  16. print('当前目录变为为:', b)
  17. for i in lists:
  18.     url = i[1]
  19.     name = i[0]
  20.     try:
  21.         print("正在下载",name)
  22.         text.insert(END, '歌曲:{},正在下载。。。'.format(name))
  23.         text.see(END)
  24.         header1 ={"User-Agent":
  25.                       "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36"

  26.         }
  27.         #urllib.request.urlretrieve(url,'./网易云歌单/%s.mp3' % name)
  28.         res = requests.get(url,headers=header1)

  29.         with open(str(name)+'.mp3',"ab")as f:
  30.             f.write(res.content)
  31.         print('下载成功。。。')
  32.         text.insert(END, '下载完毕:{},可以去听听'.format(name))
  33.         text.see(END)
  34.         text.update()

  35.     except:
  36.         pass
复制代码

主界面
  1. root = Tk()
  2. root.geometry('590x480+400+260')
  3. root.title('网易云歌单下载器')
  4. labell1 = Label(root,text = '请输入歌单的网页链接,记得去除#号哦',font=('微软雅黑',15))
  5. labell1.grid()
  6. entry1 = Entry(root,font=('微软雅黑',12))
  7. entry1.grid(row=2,column=0)

  8. text = Listbox(root, font=('微软雅黑', 16), width=40, height=10)
  9. text.grid(row=3, columnspan=1)

  10. b1 = Button(root, text='开始下载', font=('微软雅黑', 15),command=music_download)
  11. b1.grid(row=4, column=0)
  12. b2 = Button(root, text='退出程序', font=('微软雅黑', 15), command=root.quit)
  13. b2.grid(row=4, column=1)

  14. root.mainloop()
复制代码

下载链接
游客,如果您要查看本帖隐藏内容请回复

2.png
1.png
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-11-26 11:16 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-26 11:17 | 显示全部楼层
感谢楼主分享!大牛有你更精彩!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-26 11:17 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-26 11:30 | 显示全部楼层

感谢楼主的分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-26 14:00 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-27 03:53 | 显示全部楼层
感谢楼主分享!大牛有你更精彩!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-27 11:12 | 显示全部楼层
感谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2020-11-27 12:07 | 显示全部楼层
时光如飞刀,刀刀催人老
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-27 16:58 | 显示全部楼层
谢谢@Thanks!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|大牛论坛 |我的广告

GMT+8, 2024-5-5 00:18 , Processed in 0.043690 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表