当前位置: 首页 > news >正文

海曙区网站开发培训免费收录网站推广

海曙区网站开发培训,免费收录网站推广,做loge的网站,肇庆市端州发布目录 一、效果展示 二、环境 三、实现过程 四、源码 一、效果展示 页面的美化以及功能还有待升级~ 先来说一下已有功能吧#xff1a; 可以在搜索框中通过歌曲或歌手名称进行搜索#xff0c;效果和在网易云官网搜索一样。 点击开始下载#xff0c;就会将搜索结果的第一…目录 一、效果展示 二、环境 三、实现过程 四、源码 一、效果展示 页面的美化以及功能还有待升级~ 先来说一下已有功能吧 可以在搜索框中通过歌曲或歌手名称进行搜索效果和在网易云官网搜索一样。 点击开始下载就会将搜索结果的第一条歌曲下载到指定文件夹 下载完毕后会遍历音乐目录并将歌曲信息在窗口上刷新选中歌曲然后点击播放就会播放音乐 二、环境 使用语言python3.7 开发工具PyChram 第三方库 requests获取网页数据execjs执行js代码tkinter图形用户界面tkinter.ttk升级版的tkinterpygame用来播放音乐 内置库 os用于文件操作 三、实现过程 1.网易云音乐爬取 import requests import re# 目标网址 url https://music.163.com/discover/toplist # 伪装成浏览器 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 }# get请求 response requests.get(url, headersheaders) html_data response.textinfo_list re.findall(lia href/song\?id(.*?)(.*?)/a/li, html_data)for info in info_list:music_id info[0]music_name info[1]music_url http://music.163.com/song/media/outer/url?id music_idchars [\\,/,:,*,?,,,,|]for char in chars:music_name music_name.replace(char, _)# 图片、音频、视频都属于二进制数据music_data requests.get(music_url, headersheaders).contentwith open(fC:/Users\Administrator\Desktop\音乐播放器/{music_name}.mp3, modewb) as f:f.write(music_data) 我们先来看一下歌曲是如何从网页上爬取出来的 我们先来爬取飙升榜前Top100首歌曲 2.网易云搜索音乐 3.下载 4.遍历文件夹到窗口 5.播放 四、源码 import requests import execjs import os from tkinter import * from tkinter.ttk import *import pygame from tkinter import messagebox# 下载歌曲到文件夹 def song_load():url https://music.163.com/weapi/cloudsearch/get/web?csrf_token887ad1857d7e9c0e9640eecb1b5a96beheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36}js open(music163.js, moder, encodingutf-8).read()ctx execjs.compile(js)keyword entry1.get() # 获取单行文本框里的内容result ctx.call(search, keyword)data {params: result[encText],encSecKey: result[encSecKey]}resp requests.post(urlurl, headersheaders, datadata)json_data resp.json()songs json_data[result][songs]if songs:song songs[0] # 获取第一首匹配到的歌曲music_name song[name]music_id song[id]music_url http://music.163.com/song/media/outer/url?id str(music_id)chars [\\, /, :, *, ?, , , , |]for char in chars:music_name music_name.replace(char, _)# 图片、音频、视频都属于二进制数据music_data requests.get(music_url, headersheaders).contentwith open(fD:/music/{music_name}.mp3, modewb) as f:f.write(music_data)show_files()# 将文件夹里的歌曲显示出来 def show_files():folder_path rD:/music # 指定文件夹路径# 获取文件夹中的所有文件名files os.listdir(folder_path)# 清空树形菜单tree.delete(*tree.get_children())# 遍历文件名列表将文件名添加到树形菜单中for i, file_name in enumerate(files):tree.insert(, indexEND, texti, values(file_name))def song_play():# 初始化pygame和mixerpygame.init()pygame.mixer.init()# 检查是否选择了要播放的歌曲selected_item tree.focus()if not selected_item:messagebox.showinfo(提示, 请先选择要播放的歌曲)return# 获取选中的歌曲文件名selected_song tree.item(selected_item, values)[0]song_path fD:/music/{selected_song}try:# 使用播放器播放音乐文件pygame.mixer.music.load(song_path)pygame.mixer.music.play()# messagebox.showinfo(提示, 正在播放音乐)except pygame.error as e:messagebox.showinfo(错误, str(e))win Tk() win.title(音乐听) # 设置窗口标题 win.configure(bg#F4EFE7) # 设置背景色 winw560 #窗口的宽度 winh470 #窗口的高度 scrwwin.winfo_screenwidth() #屏幕的宽度 scrhwin.winfo_screenheight() #屏幕的高度 x(scrw-winw)/2 #窗口的水平位置 y(scrh-winh)/2 #窗口的垂直位置 win.geometry(%dx%d%d%d %(winw,winh,x,y)) #设置窗口位置title_label Label(win, text音乐听, font(华文行楷, 36, bold), background#F4EFE7) title_label.grid(row0,columnspan2)label1 Label(win, text输入歌曲、歌手:, font(华文行楷, 20), background#F4EFE7) label1.grid(row1, column0,padx10,pady10)entry1 Entry(win, font(隶书, 20)) entry1.grid(row1, column1,padx10,pady10)var StringVar() var.set(163) style Style() style.configure(TRadiobutton, font(微软雅黑, 14), background#F4EFE7) radio1 Radiobutton(win, text网易云音乐, variablevar, value163,styleTRadiobutton) radio1.grid(row2, column0,padx10,pady10) radio2 Radiobutton(win, textQQ音乐, variablevar, valueqq, styleTRadiobutton) radio2.grid(row2, column1,padx10,pady10)tree Treeview(win, columns(filename)) tree.heading(#0, text序号) tree.heading(filename, text文件名称) tree.grid(row3, columnspan2,padx10,pady10)# 定义按钮的样式 style.configure(TButton, font(微软雅黑, 14), background#F4EFE7, foreground#000000, reliefRIDGE) button1 Button(win, text开始下载, commandsong_load, styleTButton) button1.grid(row4, column0, padx60, pady10)button2 Button(win, text播放, commandsong_play, styleTButton) button2.grid(row4, column1, padx60, pady10)# button2 Button(win, text退出程序, commandwin.quit) # button2.grid(row3, columnspan2)show_files()win.mainloop()
http://www.sadfv.cn/news/313544/

相关文章:

  • 一家装修的网站怎么做怎么做谷歌推广
  • wordpress弹窗通知插件重庆seo网络推广关键词
  • 网站开发百灵鸟优化海报设计图片大全
  • 谁有人跟动物做的网站咸阳网站制作建设
  • 建设网站聊天室如何建网站模板
  • 做网站和推广公司开福区网站建设论坛
  • 能不能用自己的主机做网站郑州网站商城建设
  • 恩施哪里有做网站的苏州美丽乡村建设网站
  • 建设大学网站费用微信公众号开通商城
  • 网站建设费用怎么算昆明公司网站制作
  • 网站权重批量查询wordpress cos 配置
  • 网站建设费怎么做分录苏州建设项目备案网站
  • 垡头网站建设做网站都注意哪些东西
  • 网站建设朱宁做牛仔裤的视频网站
  • 网站建设一般需要什么软件免费下载android
  • 机械行业做网站网站咨询弹窗是怎么做的
  • 网站网页制作教程天津网站备案
  • 网站开发培训培训班影视网站怎么做优化
  • 东莞网站设计风格微信产品展示小程序
  • 中国医院建设协会网站wordpress页面侧边栏没了
  • 成都网站建设 公司工具型网站有哪些
  • wordpress电影下载站seo优化杭州
  • 外贸网站平台seo推广wordpress使用百度云cdn
  • 个人网站建设流程怎么在手机上设计网站
  • 怎么在备案号添加网站微电商平台
  • 自适应的网站模板跟犀牛云一样做网站的
  • 云建站空间房屋装修效果图怎么制作
  • 徐州做网站企业茂名网站制作计划
  • 自己如何建一个网站python在线编程视频
  • 采集类淘宝客网站怎么做网站制作属于什么专业