您好,欢迎来到重庆市欧洲杯买球app科技有限公司

您当前的位置:首页 > 产品中心

欧洲杯买球app| python爬虫实战之—爬取网易云音乐

发布者: 欧洲杯买球app发布时间:2021-08-25

本文摘要:对于喜欢听歌的朋侪来说批量下载歌曲往往是一件很头疼的事,一次次打开歌曲,然后机械搬的点击下载,是不是想想都以为不能忍呢~尤其是作为一名法式猿来说,如果你还在用两根手指做着这么低效率的事情,你是不是太out了呢?

对于喜欢听歌的朋侪来说批量下载歌曲往往是一件很头疼的事,一次次打开歌曲,然后机械搬的点击下载,是不是想想都以为不能忍呢~尤其是作为一名法式猿来说,如果你还在用两根手指做着这么低效率的事情,你是不是太out了呢?今天给大家带来一款python制作的神器,专用于批量下载网易云音乐的歌单,操作很是之简朴!运行情况:Python3相关模块:requests,bs4,tkinter,urllib使用方式:1. 将代码生存为python文件并运行2. 在弹出的框中填入你要下载的歌单的url并点击开始下载如下图23. 下载完成图3现在进入教学时间,已经给列位看官老爷备好了注释,有感兴趣的朋侪可以相识一下:第一部门:导入相关库图4第二部门:设计图形界面图5第三部门:写爬虫下载歌单中的歌曲图6图7最后给大家分享一下整体代码,可以开心的下载歌曲去了,我先撤啦~from tkinter import *import requestsfrom bs4 import BeautifulSoupfrom urllib.request import urlretrieve#下载方法def download(): #通过输入控件获取url url = entry.get() #去除utl中的#号 new_url = url.replace('/#', '') #设置header header = { 'Host': 'music.163.com',# 指定请求的服务器的域名和端口号 'Referer': 'https://music.163.com/',#先前网页的地址,当前请求网页紧随其后,即来路 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0' #User-Agent的内容包罗发出请求的用户信息 } #发送get请求 res = requests.get(new_url, headers=header).text #BeautifulSoup是用来从HTML或XML中提取数据的Python库。对于不具备良好花样的 HTML 内容,lxml 提供了两个有用的包:lxml.html 模块和 BeautifulSoup 剖析器。

欧洲杯买球app

r = BeautifulSoup(res, "html.parser") music_dict = {} #提取歌单 result = r.find('ul', {'class', 'f-hide'}).find_all('a') for music in result: print(music) music_id = music.get('href').strip('/song?id=') music_name = music.text #将每首歌的id存入music_dict music_dict[music_id] = music_name #按顺序下载每首歌 for song_id in music_dict: song_url = "http://music.163.com/song/media/outer/url?id=%s" % song_id#下载路径 path = "D:\论文任务\音乐/%s.mp3" % music_dict[song_id] # 添加数据 text.insert(END, "正在下载:%s" % music_dict[song_id]) text.see(END) text.update() #urlretrieve用于下载资源到当地 urlretrieve(song_url, path)#Tkinter 模块(Tk 接口)是 Python 的尺度 Tk GUI 工具包的接口 ,Tkinter用于python开发图形界面root = Tk()#名称root.title("网易云音乐下载器")#尺寸设定root.geometry("550x400+550+230")#设定标签的内容以及字体气势派头,巨细label = Label(root, text="歌单URL", font=('宋体', 15))label.grid()#Entry输入控件;用于显示简朴的文本内容entry = Entry(root, font=('微软雅黑', 20))entry.grid(row=0, column=1)text = Listbox(root, font=("微软雅黑", 15), width=45, height=10)text.grid(row=1, columnspan=2)#设置按钮的字体,内容,巨细,以及按钮背后的功效button = Button(root, text="开始下载", font=("微软雅黑", 15), command=download)button.grid(row=2, column=0, sticky=W)button1 = Button(root, text="退出", font=("微软雅黑", 15), command=root.quit)button1.grid(row=2, column=1, sticky=E)mainloop()本文代码泉源:https://blog.csdn.net/Bancroft_boy/article/details/80925487友情提示:如有付费下载音乐,请尊重音乐版权!付费下载作者:欧阳峰申明:本文为易学智能原创内容,如需转载请私信接待关注“易学智能”头条号,评论区有问必答www.easyaiforum.cn提在线AI算力平台和学习平台。


本文关键词:欧洲杯买球app
返回首页


下一篇: 数学论文不用人检查 交给机械就行?-欧洲杯买球app 上一篇:【欧洲杯买球app】国际化背景下河北省旅游高等教育发展战略研究