吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 82452|回复: 526
收起左侧

[Python 原创] 【python + Tk】音乐下载器,可下(XX,X易,X狗)等付费音乐

    [复制链接]
考拉熊 发表于 2018-11-16 13:21
本帖最后由 wushaominkk 于 2019-6-6 21:09 编辑

帖子已更新2019-03-25,请看最后

1:
支持网站 资源   'QQ', '酷我', '虾米', '酷狗', '百度', '网易'



2: 敲黑板,付费音乐也可以下载哦,(图片示例为qq收费音乐)


3: 用到的库都是官方自带的库,不需要额外下载其他。


4: 没有安装环境的同学怎么办呢,


我已经帮你们打包好了,只能64位系统运行,32位有需要的可以回帖,我帮你们打包)


5: 麻烦把您的免费评分给一下,谢谢您的鼓励。


好了,废话说完,先上图片看看情况(额。。。界面不是很好看,将就着用,毕竟我们不是奔着界面去的,)


第一步:选择音乐库(默认QQ,   不要问我为什么, 因为QQ 是我表哥)



微信截图_20181116114446.png



第二步:输入要下载的音乐,点击搜索


微信截图_20181116114611.png






第三步:双击界面的音乐,确认下载,




微信截图_20181116114629.png




第四步:在程序运行的文件加查看音乐






微信截图_20181116114723.png


第五步:再次选择下载,(本来这个省了,但是谁让我喜欢《过火》呢,没有为什么)


微信截图_20181116114654.png






下面是独立运行的EXE链接:
https://pan.baidu.com/s/1C7twVwzoZURpWVu5Y2L5ew
6pgk



下面是源码:(代码写的很烂,大家见谅)



[Python] 纯文本查看 复制代码
from tkinter import *
from re import findall, sub
from tkinter.ttk import Combobox
from requests import get, post


headers={
    'Cookie': 'Tip_of_the_day=2; encrypt_data=56f2bc9d081609eb8e605a176c9f144de8c9c6ac96288a2e51fce7143a94433d8c0c4fc70944b9163392d9ea977fc7343168112d1769b16d03bd4b9d7d56317224940c2824ccbeeccb73a633bdfeabdd7c124ff7f5064b6ef27b7959ebcb279cb52e5da22eff1a00fd6ee3efe7adc077a415e7bd0edfb126ed4487ef27904634; SL_GWPT_Show_Hide_tmp=1; SL_wptGlobTipTmp=1',
    'Host': 'moresound.tk',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
}


def huoqu(urlid):

    url = 'http://moresound.tk/music/'+urlid
    res = get(url, headers=headers)
    ress = res.json()
    ff = ress['url']
    # print(ff)
    return ff


def Save(urlid):

    url = huoqu(urlid)
    res = get(url).content
    Save_wenjian = sub('[\\\\/:*?\"<>|]', '', str(Save_name))  # 正则去掉文件名不支持的字符
    with open('{}.mp3'.format(Save_wenjian), 'wb')as f:
        f.write(res)

    confirmLabel.insert(END, '已保存至本程序运行的文件下!!!!', '\n\n请继续搜索下载')


def danqu_url(id):
    global Save_name
    url = 'http://moresound.tk/music/api.php?get_song={}'.format(sousuo_key)
    data = {'mid': id}
    res = post(url, data=data, headers=headers)
    ss = res.json()
    # AAC = ss['url']['24AAC']
    mp3 = ss['url']['128MP3']
    Save_name = ss['song']+'__'+ss['singer']
    Save(mp3)


id_list = []  # 用于将sousuo()函数获取到的歌曲ID装起来


def sousuo():
    global sousuo_key
    sousuoyinqin = xialalan.get()  # 获取输入的搜索引擎

    dict_sousuo = {'QQ': 'qq', '酷我': 'kw', '虾米': 'xm', '酷狗': 'kg', '百度': 'bd', '网易': 'wy'}

    sousuo_key = dict_sousuo[sousuoyinqin]  # 确认选择的搜索引擎
    del id_list[:]  # 清空列表,重置(使用多次以后列表装太多数据,不删除下次会出错)
    confirmLabel.delete(0, END)  # 清空文本框
    dd = namee_Entry.get()  # 获取输入的歌名
    url = 'http://moresound.tk/music/api.php?search={}'.format(sousuo_key)
    data={
        'w': '{}'.format(dd),
        'p': '1',
        'n': '20',
    }
    res = post(url, data=data, headers=headers)
    ress = res.json()
    for i in range(15):
        name_geshou = ress['song_list'][i]['singer'][0]['name']
        name_geming = ress['song_list'][i]['songname']
        name_zhuanji = ress['song_list'][i]['albumname']
        name_id = ress['song_list'][i]['songmid']

        name_geming1 = sub('<sup.*|\n|\r|', '', str(name_geming)[:10])  # 去掉多余的信息
        isserts = name_geshou+'  '+ name_geming1+'  专辑:  ' + name_zhuanji
        confirmLabel.insert(END, str(i)+':'+isserts)  # 将获取到的详细信息打印到GUI
        id_list.append(name_id)  # 获取到的id添加到列表里面,供xuanze(event)函数使用。


def xuanze(event):
    ff = confirmLabel.get(confirmLabel.curselection())
    ff = findall('\d+', str(ff))
    # print(id_list[ii],ii)
    confirmLabel.delete(0, END)  # 清空文本框
    confirmLabel.insert(END, '正在下载:请稍后...')
    window.update()
    if ff != []:
        ii = int(ff[0])
        danqu_url(id_list[ii])




window = Tk()
weather = StringVar()
window.geometry('800x600+500+200')  # 窗口大小
window.title('MP3歌曲下载===下载速度取决于您的网速')

taitouLabel = Label(window, text="请输入要下载的歌曲:  ", height=2, width=30, font=("Times", 20, "bold"), fg='red')
sousuoLabel = Label(window, text="选择音乐库:  ", height=1, width=10, font=("Times", 15, "bold"), fg='#00008b')
xialalan = Combobox(window, width=4, textvariable=weather,font=("黑体", 18, "bold"),state='editable')
xialalan['values'] = ('QQ', '酷我', '虾米', '酷狗', '百度', '网易')
xialalan.current(0)

namee_Entry = Entry(window, width=25, font=("Times", 20, "bold"))

button = Button(window, text="搜索", command=sousuo, )  # .grid_location(33,44)
GunDongTiao = Scrollbar(window)  # 设置滑动块组件
confirmLabel = Listbox(window, height=15, width=55, font=("Times", 15, "bold"), fg='red', bg='#EEE5DE',
                       yscrollcommand=GunDongTiao.set)  # Listbox组件添加Scrollbar组件的set()方法
confirmLabel.bind('<Double-Button-1>', xuanze)  # 双击选择文本框的内容
GunDongTiao.config(command=confirmLabel.yview)  # 设置Scrollbar组件的command选项为该组件的yview()方法
taitouLabel.grid(column=1)
sousuoLabel.grid(row=0, column=0)
xialalan.grid(row=1, column=0)
namee_Entry.grid(row=1, column=1, sticky=N + S)
button.grid(row=1, column=1, sticky=E)

confirmLabel.grid(row=3, column=1, sticky=E)
GunDongTiao.grid(row=3, column=2, sticky=N + S + W)  # 设置垂直滚动条显示的位置
window.mainloop()



11/16新增内容:

实现了自己选择格式的功能,(顺便还增加了可以下载MV的功能,惊不喜惊喜,意不意外,)
11/21新增内容:

经评论区大神提议 @181842@181842  上传了蓝奏云,无限速下载很爽的
微信截图_20181116164202.png

EXE独立运行程序64位
百度云:
https://pan.baidu.com/s/1tKCMOJlFCO1AxZYNyDWZrA    密码: c2r4
蓝奏云:
https://www.lanzouj.com/i2fgbgf
EXE独立运行程序32位
百度云:
https://pan.baidu.com/s/1XmjcB2-O7ehzw2GDFZQswA     密码: s79y
蓝奏云:
https://www.lanzouj.com/i2fgbji



11/23新增内容:

实现了快捷键操作

按下回车键进行搜索

按下ESC搜索清空框

网求方便下载量大的同学



64位 https://www.lanzouj.com/i2fw3da






2019/03/25更新内容:
解决部分歌曲无法下载,
64位 https://www.lanzouj.com/i3jmd3a

使用wxpython做的GUI


微信截图_20190325185646.png


64位 https://www.lanzouj.com/i3lsvkd

差点忘了,
麻烦把您的免费评分给一下,谢谢您的鼓励。(免费源码都扔出来了,不给评分都不好意思

免费评分

参与人数 384吾爱币 +339 热心值 +351 收起 理由
小白XX + 1 + 1 谢谢@Thanks!
淡定狐狸 + 1 谢谢@Thanks!
Sigur + 1 + 1 谢谢@Thanks!
colorJ + 1 谢谢@Thanks!
chenfudi970807 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
遥远的思恋 + 1 + 1 我很赞同!
扛煤气罐的爷们 + 1 用心讨论,共获提升!
NsiMysko + 1 谢谢@Thanks!
pyxzkh + 1 + 1 谢谢@Thanks!
史蒂芬泽东 + 1 + 1 66666
南君 + 1 + 1 我很赞同!
zengchao + 1 + 1 谢谢@Thanks!
kgbigman3 + 1 + 1 谢谢@Thanks!
枕寒流 + 1 + 1 我很赞同!
baijianyu666 + 1 + 1 谢谢@Thanks!
diyhack + 1 + 1 我很赞同!
血帝Blood + 1 谢谢@Thanks!
比冷更冷 + 1 + 1 热心回复!
thefish + 1 + 1 谢谢@Thanks!
sance + 1 谢谢@Thanks!
zrhcl20180908 + 1 + 1 东西非常的好 干货值得给
我叫周奔跑 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lan2018 + 1 + 1 我很赞同!
GYZ1028 + 1 + 1 热心回复!
儒漢士子 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
zgrxlyf + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
drtwww + 1 + 1 谢谢@Thanks!
陈宏毅 + 1 谢谢@Thanks!
venusli168 + 1 + 1 我很赞同!
無度 + 1 + 1 谢谢@Thanks!
ansterYJ + 1 + 1 热心回复!
17866703858 + 1 + 1 我很赞同!顶顶顶
hu40989 + 1 + 1 用心讨论,共获提升!
deity1213 + 1 谢谢@Thanks!
gromhellsc + 1 热心回复!
2004080047 + 1 + 1 我很赞同!
天凉好个秋丶 + 1 + 1 谢谢@Thanks!
a131058 + 1 666
yangzhchao + 1 + 1 热心回复!我很赞同
7063379 + 1 + 1 谢谢@Thanks!
xyer45 + 1 + 1 谢谢@Thanks!
chuntian22 + 1 + 1 谢谢@Thanks!
abcboy + 1 + 1 太感谢了,真及时
qqbobos + 1 + 1 热心回复!
xnliuling + 1 + 1 用心讨论,共获提升!
心随梦动 + 1 热心回复!
380934511 + 1 + 1 我很赞同!
毫无影 + 1 + 1 热心回复!
gaoshan150 + 1 + 1 win7 64 未能执行脚本Music03-25怎么办?
星空帅帅 + 1 谢谢@Thanks!
best028 + 1 + 1 我很赞同!
ABB-boy + 1 + 1 热心回复!
馒头炖包子 + 1 我很赞同!
爱民 + 1 win10 64位 运行不了软件. 提示 Failed to execute script music03_25
18650610510 + 1 + 1 我很赞同!
风吹杨柳 + 1 + 1 用心讨论,共获提升!
jygyx + 1 + 1 我很赞同!
pbgz + 1 + 1 谢谢@Thanks!
Wgq890224 + 1 + 1 我很赞同!
liphily + 1 我很赞同!
一刹时的永恒 + 1 + 1 谢谢@Thanks!
大大大山兄 + 1 + 1 热心回复!
wxg199256 + 1 + 1 用心讨论,共获提升!
善无事 + 1 + 1 谢谢@Thanks!
訫憾 + 1 + 1 谢谢@Thanks!
一又九分之一 + 1 + 1 谢谢@Thanks!
XWE + 1 + 1 谢谢@Thanks!
hunlish + 1 + 1 我很赞同!
xoyowen + 1 + 1 谢谢@Thanks!
wwwms + 1 + 1 兄弟我顶你
oo36982350 + 1 + 1 我很赞同!
amomissile + 1 + 1 谢谢@Thanks!
张百事 + 1 + 1 谢谢@Thanks!
waterken + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
2016026417 + 1 我很赞同!
永燃的瞳木师 + 1 我很赞同!
puyanbiao + 1 + 1 谢谢@Thanks!
和风一号 + 1 + 1 谢谢@Thanks!
rodygdut + 1 + 1 热心回复!
乃味尤物 + 1 谢谢@Thanks!
wdjz + 1 + 1 我很赞同!
wanlin1128 + 1 我很赞同!
x_hua + 1 + 1 我很赞同!
一只特立独行的猪 + 1 可以用,谢谢1
snrtjag89757 + 1 + 1 我很赞同!
defend1314 + 1 + 1 试用完美~太谢谢了~
小白鹿 + 1 + 1 谢谢@Thanks!
浮華 + 1 我很赞同!
xmxZhang + 1 + 1 谢谢@Thanks!
执著的倔强 + 1 + 1 谢谢@Thanks!
情少 + 1 + 1 用心讨论,共获提升!
a215834393 + 1 + 1 我很赞同!
Adorable_Star + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
1366 + 1 + 1 热心回复!
水鸟是时间 + 1 + 1 谢谢@Thanks!
BKGOOU + 1 谢谢@Thanks!
ThomasvH + 1 + 1 很给力
kiritozhj + 1 + 1 热心回复!
adong2016 + 1 + 1 谢谢@Thanks!
dukeang + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lymesh 发表于 2018-11-16 13:31
厉害了不过终究还是那个网站厉害哈哈哈
hq8205 发表于 2020-2-21 10:01
应该是用不了了,在源码运行的时候,点击搜索,出现错误:
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3.6/tkinter/__init__.py", line 1705, in __call__
    return self.func(*args)
  File "/var/www/html/python/pure/day1/var.py", line 81, in sousuo
    name_geshou = ress['song_list'][i]['singer'][0]['name']
KeyError: 'song_list'
aming51888 发表于 2018-12-21 22:49
木木的霜树 发表于 2018-11-16 13:27
感谢楼主分享
xinluan 发表于 2018-11-16 13:27
很不错的TK,任性支持一波,继续加油哦
近乎 发表于 2018-11-16 13:28
先收藏了,感谢分享
jinmouyuzhao 发表于 2018-11-16 13:29

感谢楼主分享
头像被屏蔽
当我遇上了你 发表于 2018-11-16 13:30
提示: 该帖被管理员或版主屏蔽
华夏可人 发表于 2018-11-16 13:31
感谢分享
w6645296 发表于 2018-11-16 13:32
谢谢楼主分享
_style 发表于 2018-11-16 13:35
真是非常棒啊!~感谢楼主分享!~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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