【原创源码】【Python】92kk音乐下载器
本帖最后由 lin2509 于 2020-4-8 19:02 编辑看到原创区几个92kk音乐解析下载器我用python 也写了一个
有一点小问题就是下载时窗口没反应,有大神可以帮忙改一下
#!/usr/bin/env python# coding: utf-8
# In[ ]:
# -*- coding: UTF-8 -*-
import requests
import tkinter as tk
url = ""
link = "http://listen.9sing.cn"
import tkinter.ttk as ttk
def get_link():
url = inputEntry.get()
responce = requests.get(url)
string = responce.text
# start_mp3,end_mp3:分别表示mp3开始的字符串,结束的字符串
start_mp3 = "var danceFilePath = '"
end_mp3 = "';"
#start_mp4,end_mp4:分别表示mp4开始的字符串,结束的字符串
start_mp4 = 'vMp4url = "mp4:'
end_mp4 = '";'
# 使用find找到地址开始的位置
s = string.find(start_mp3)
#只要s不等于-1,说明找到了mp3格式
if s!= -1:
#找结束位置
e = string.find(end_mp3, s)
#截取地址
sub_str = string
down_link = link+sub_str
#print(down_link)
#否则就是mp4格式
else:
s = string.find(start_mp4)
#找结束位置
e = string.find(end_mp4, s)
#截取地址
sub_str = string
down_link = link+sub_str
# print(down_link)
#area.insert(END,'网址错误,请榆查后再复制\n')
#area.see(END)
#area.update()
#下载
#def down_file():
r = requests.get(down_link, stream=True)
#以原文件名保存
file_name = down_link.split('/')[-1]
file = str(file_name)
#print(file_name)
type(file_name)
#print('正在下载:%s'%file_name)
area.insert('insert','正在下载:%s \n'%file_name)
area.see('insert')
area.update()
with open(file_name, "wb") as mp4:
for chunk in r.iter_content(chunk_size=1024 * 1024):
if chunk:
mp4.write(chunk)
#print("下载结束")
area.insert('insert','下载结束 \n')
area.see('insert')
area.update()
win=tk.Tk()
win.title("92kk音乐下载")
win.rowconfigure(1, weight=1)
win.columnconfigure(0, weight=1)
#output
outputFrame = tk.LabelFrame(win,text="Output")
outputFrame.rowconfigure(0,weight=1)
outputFrame.columnconfigure(0,weight=1)
#area = Text(outputFrame).grid(row=0,sticky=tk.NSEW)
area = tk.Text(outputFrame)
area.pack()
area.insert('insert','等待输入网址')
area.insert('insert','\n')
#print(area)
outputFrame.grid(row=1,sticky=tk.NSEW)
#setting
setFrame = tk.LabelFrame(win,text="input")
setFrame.columnconfigure(2, weight=1)
comLable = tk.Label(setFrame,text="地 址 如: ").grid(row=0,column=0)
#comSpiner = tk.Spinbox(setFrame,text="COM1").grid(row=0,column=1,sticky=tk.EW)
comLable1 = tk.Label(setFrame,text="http://www.92kk.com/play/67848.html ").grid(row=0,column=1)
#refrashButton = ttk.Button(setFrame,text="Refresh").grid(row=0,column=2,sticky=tk.EW)
inputLable = tk.Label(setFrame,text="歌曲地址: ").grid(row=1,column=0)
e=tk.StringVar()
inputEntry = tk.Entry(setFrame,textvariable=e)
inputEntry.grid(row=1,column=1,sticky=tk.EW,columnspan=2)
e.set('http://www.92kk.com/play/67848.html')
ulr=inputEntry.get()
sendButton = ttk.Button(setFrame,text="下 载",command=get_link).grid(row=1,column=3)
setFrame.grid(row=0,sticky=tk.EW)
win.mainloop()
成品
链接:https://pan.baidu.com/s/1wa1DxinZO7IAM4laTkajxw
提取码:hea4 lin2509 发表于 2020-4-8 19:00
http://www.92kk.com/index.php/ajax/dance_user?&did=68137&keyHash=&type=1
解析出来的地址加上网站地址 ...
我解析的地址 http://listen.9sing.cn//2020/dance/2020-03/2020-03-24/2020%E6%8A%96%E9%9F%B3%E5%BF%AB%E6%89%8B%E6%9C%80%E7%81%ABBGM%E8%83%8C%E6%99%AF%E9%9F%B3%E4%B9%90%E7%B2%BE%E5%93%81%E5%90%88%E8%BE%91.mp3 Setsuro 发表于 2020-4-8 18:36
怎么使用呢
{"did":68137,"uid":"0","user":"djremen","nickname":"dj\u70ed\u95e8","slike_num":"0","srecommend_num":"0","sdown_num":"0","file_path":"\/2020\/dance\/2020-03\/2020-03-23\/\u5fd8\u60c5\u725b\u8089\u9762[\u73af\u7ed5].mp3","isRecommend":0,"isLike":0,"isDown":0,"isFans":0,"down_link":"\/index.php\/dance\/down\/id\/68137"}
看到地址没 我的第一个python程序
写完了有坛友发了个
http://www.92kk.com/index.php/aj ... keyHash=&type=1
一个josn解析就够了啊
用这方法更简单
不过不想改了 第一次听说92kk,点进去,一阵土嗨响了起来{:1_925:} Capitalwell 发表于 2020-4-8 17:00
第一次听说92kk,点进去,一阵土嗨响了起来
我也是前几天才知道这个站 下载了,怎么打不开啊 jcldkj 发表于 2020-4-8 17:06
下载了,怎么打不开啊
我的是win10 64位 lin2509 发表于 2020-4-8 17:19
我的是win10 64位
我的也是。都一样的,打不开 下载试听 一下 jcldkj 发表于 2020-4-8 17:21
我的也是。都一样的,打不开
要不你用源码编译一下 支持一下