首页 > 其他分享 >Download Music For Free (vision:1.2 Beta 1 build 2022060202)

Download Music For Free (vision:1.2 Beta 1 build 2022060202)

时间:2022-10-02 11:22:58浏览次数:85  
标签:END 1.2 title url text Free 下载 root 2022060202

音乐下载工具

版本:1.2 Beta 1 build 2022060202

源代码:

'''
本次更新内容:
1.添加信息提示功能
2.更改一些字的字体
3.解决无法保存文件的bug
4.禁用输出歌曲列表
'''
# 导入模块
from tkinter import *
import requests
import jsonpath
import os
from urllib.request import urlretrieve
# import tkinter.ttk 

# 2.功能实现
"""
    1.url
    2.模拟浏览器请求
    3.解析网页源代码
    4.保存数据
"""
def song_download(url,title,author):
    # 创建文件夹
    os.makedirs("music",exist_ok=True)
    path = '.\music\{}.mp3'.format(title)
    text.insert(END,'歌曲:{0}-{1},正在下载...'.format(title,author))
    # 文本框滑动
    text.see(END)
    # 更新
    text.update()
    # 下载
    urlretrieve(url,path)
    text.insert(END,'下载完毕,{0}-{1},请试听'.format(title,author))
    # 文本框滑动
    text.see(END)
    # 更新
    text.update()

def get_music_name():
    """
    搜索歌曲名称
    :return:
    """
    name = entry.get()
    platfrom = var.get()
    # name = '白月光与朱砂痣'
    url = 'https://music.liuzhijin.cn/'
    headers = {
        "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36",
        # 判断请求是异步还是同步
        "x-requested-with":"XMLHttpRequest",
    }
    param = {
        "input":name,
        "filter":"name",
        "type":platfrom,
        "page": 1,
    }
    res = requests.post(url=url,data=param,headers=headers)
    json_text = res.json()

    title = jsonpath.jsonpath(json_text,'$..title')
    author = jsonpath.jsonpath(json_text,'$..author')
    url = jsonpath.jsonpath(json_text, '$..url')
    # print(title,author,url)
    song_download(url[0],title[0],author[0])


# 1.用户界面
# 创建画板
root = Tk()
# 设置窗口标题
root.title('全网音乐下载器')
# 设置窗口大小以及出现的位置
root.geometry('560x450+400+200')
# 标签组件
label = Label(root,text="请输入下载的歌曲:",font=('楷体',20))
# 定位与布局
label.grid(row=0)
# 输入框组件
entry = Entry(root,font=('黑体',20))
entry.grid(row=0,column=1)
# 单选按钮
var = StringVar()
r1 = Radiobutton(root,text='网易云',variable=var,value='netease')
r1.grid(row=1,column=0)
r2 = Radiobutton(root,text='QQ',variable=var,value='qq')
r2.grid(row=1,column=1)
# 列表框
text = Listbox(root,font=('仿宋',16),width=50,height=15)
text.grid(row=2,columnspan=2)
text.insert(END,'版本信息:1.1 Beta build 20020602')
text.insert(END,'提示:下载的音乐将会在程序所在文件夹下的music')
text.insert(END,'文件夹中保存,请先下载本程序后再运行')
text.insert(END,'提示:记得选择下载源哦~')
# 下载按钮
button1 = Button(root,text='开始下载',command=get_music_name)
button1.grid(row=3,column=0)
button2 = Button(root,text='退出程序',command=root.quit)
button2.grid(row=3,column=1)
# 显示界面
root.mainloop()

# 如何将.py代码打包成.exe文件

下载地址:
Onedrive下载

标签:END,1.2,title,url,text,Free,下载,root,2022060202
From: https://www.cnblogs.com/skyrainbow/p/16748450.html

相关文章

  • Download Music For Free (vision:1.1 Beta build 2022060201)
    音乐下载工具版本:1.1Betabuild2022060201源代码:'''本次更新内容:1.添加信息提示功能2.更改一些字的字体'''#导入模块fromtkinterimport*importrequestsi......
  • cnpack 1.2.5发布!
    2022年10月1日,开放源码的CnPackIDE专家包发布1.2.5正式版。欢迎下载使用!地址:https://www.cnpack.org/showdetail.php?id=900&lang=zh-cn1.2.5较1.2.4的更新:+支持R......
  • 1.2 继承
    最后一种给元素添加样式的方式:继承。比如通常会给<"body">元素加上font-family,里面的所有祖先元素都会继承这个字体,就不必给页面的每个元素明确指定字体了body{font......
  • linux系统:共享库问题之如version `ZLIB_1.2.9‘ not found
    1.错误提示:Gtk-WARNING**:Errorloadingimage'file:///usr/share/themes/Ambiance/gtk-3.0/assets/button-toolbar-active-focused.png':Unabletoloadimage-load......
  • Editable FreeViewpoint Video
    使用分层神经表示的可编辑自由视点视频自由视点视频的生成对于沉浸式VR/AR体验非常重要,但是最近神经方法进展仍然缺乏在大动态场景下操纵视觉感知的编辑能力。为填补当前的......
  • 二进制部署k8s集群v1.23.9版本-21-安装LTS任务调度
    21.1、准备镜像192.168.1.200服务器操作lts-jobtracker镜像dockerpullharbor.qgutech.com/qx-apaas/lts-jobtracker:v1dockertag8f1e3d395515harbor.qgutech.com/......
  • FreeSwitch 视频支持 安装libyuv libvpx opus mod_av 等模块介绍
    ①openh264OpenH264是思科公司以BSD协议开放的一个开源的H.264编码器和解码器。Cisco将以BSD协议开放其H264解码器实现,并提供针对主流操作系统的预编译库文件......
  • FreeSWITCH vad 模块介绍
    介绍mod_vad是一个freeswitch的模块,实现VAD录音和放音支持打断。下载mod_vad安装libmyauth.socopy到fs/ib目录一般是/usr/local/freeswitch/libmod_vad.soco......
  • MQTTnet3.1.2 服务端
    usingMQTT;usingMQTTnet.Client;usingMQTTnet.Protocol;usingMQTTnet;usingMQTTnet.Server;usingSystem;usingSystem.Collections.Generic;usingSystem.Te......
  • STM32F10x SPL V3.6.2 集成 FreeRTOS v202112
    STM32F10xSPL集成FreeRTOS在整理GCCArm工具链的Bluepill代码示例,常用外设都差不多了,接下来是FreeRTOS,网上查到的基本上都是基于旧版本的集成,STM32SPL版本......