用户:
直率的小黄鸡oUzG查看:0 回复:1 评论:0 创建时间:2021-05-22T15:23:19
【作品展示】

【作品介绍】
音频
【作品源代码】
import tkinter as tk
import requests as r
from tkinter import messagebox as m
import time as ti
w = tk.Tk()
w.title("豆豆")
# w.geometry("1920x1080")
w.geometry("503x618")
# 初始化
def chushi():
# 需隐藏
# 1.爬取视频
pa_yin_pin.place_forget()
# 2.返回到主页面按钮
fan_hui_d_zhu.place_forget() # 隐藏方案:e.place_forget() # e.grid_forget()
# 3.爬虫控件
pa_kong.grid_forget()
# 4.爬虫音频提示控件
# 5.手动音频
shou_dong_pa_qu_yin_pin.place_forget()
# 显示按钮
# 1.爬虫按钮
pa.place(x=0, y=50)
# 2.主控件
l.grid(row=0, column=0) # grid隐藏
pa_shi_pin.place_forget()
# ______________________________________________________________________爬虫界面
def chongjie_di_zhi():
# 需隐藏
# 1.返回到爬虫界面按钮
ffan_hui_d_pa.place_forget()
# 2.爬虫按钮
pa.place_forget()
# 3.主界面主控件
l.grid_forget() # grid隐藏
# 4.爬取音频地址搜索栏
# 隐藏方案:e.place_forget() # e.grid_forget()
pa_qu_yin_pin_di_zhi_sou_suo_lan.place_forget()
# 5.此模式为爬取音频模式提示控件
yin_pin_di_zhi_kong_jian.place_forget()
# 6.爬取音频确定按钮
pa_qu_yin_pin_ding.place_forget()
# 7.爬取音频清除按钮
yin_pin_di_zhi_qing_kong.place_forget()
# 8.单音频爬取
dan_qu_pa_qu.place_forget()
# 9.多音频爬取
pi_liang_pa_qu.place_forget()
# 10.返回到音频索引
fan_hui_dao_pa_chong_jie_mian.place_forget()
pa_shi_pin.place_forget()
# 11.视频标签(提示)
shi_pin_di_zhi_kong_jian_DAN.place_forget()
# 12.视频单个搜锁栏
pa_qu_shi_pin_di_zhi_sou_suo_lan.place_forget()
# 13.视频单个确定
pa_qu_shi_pin_dan_ge_di_zhi_que_ding.place_forget()
dan_qu_pa_qu_shi_pin.place_forget()
pi_liang_pa_qu_shi_pin.place_forget()
# 需显示
# 1.返回到主页面按钮
fan_hui_d_zhu.place(x=468, y=588)
# 2.爬取音频按钮
pa_yin_pin.place(x=0, y=50)
# 3.爬虫系统主控件
pa_kong.grid(row=0, column=0) # grid隐藏
# 4.手动爬取音频
shou_dong_pa_qu_yin_pin.place(x=0, y=100)
pa_shi_pin.place(x=0, y=150)
# 爬取单音频界面
def pa_yin_pin_jie_mian():
# 需隐藏
#dan_qu_pa_qu.place(x=0, y=50)
# 1.返回到主页面按钮
#pi_liang_pa_qu.place(x=0, y=100)
fan_hui_d_zhu.place_forget()
pa_yin_pin.place_forget() # 2.爬取音频按钮
##
# 需显示
# 1.返回到爬虫界面按钮
# 隐藏方案:e.place_forget() # e.grid_forget()
ffan_hui_d_pa.place(x=468, y=588)
# 2.音频地址搜索栏
pa_qu_yin_pin_di_zhi_sou_suo_lan.place(x=190, y=300)
# 3.音频地址提示控件
yin_pin_di_zhi_kong_jian.place(x=60, y=100)
# 4.爬取音频确定按钮
pa_qu_yin_pin_ding.place(x=240, y=325)
# 5.音频地址清除按钮
yin_pin_di_zhi_qing_kong.place(x=335, y=295)
# 6.单曲爬取按钮
dan_qu_pa_qu.place_forget()
pi_liang_pa_qu.place_forget()
fan_hui_dao_pa_chong_jie_mian.place_forget()
pa_shi_pin.place_forget()
def pa_dan_shi_pin_jie_xi():
# 需全局变量
global yin_bian_1
# 主程序
yin_pin_di_zhi = pa_qu_shi_pin_di_zhi_sou_suo_lan.get() # print(yin_pin_di_zhi)
try:
fan_hui_yin_pin_wnag_yuan_dai_ma = r.get(yin_pin_di_zhi).content
# print(yin_pin_di_zhi)
# content
except:
m.showerror("地址异常", "视频爬取异常,请检查地址后重新输入")
else:
fan_hui_yin_pin_wnag_yuan_dai_ma = r.get(yin_pin_di_zhi).content
with open(f"{yin_bian_1}.mp4", "wb") as a:
a.write(fan_hui_yin_pin_wnag_yuan_dai_ma)
yin_bian_1 = yin_bian_1+1
m.showinfo("视频爬取成功", "视频爬取成功,已保存到桌面")
# 爬取音频索引
def pa_yin_pin_jie_mian_suo_yin():
dan_qu_pa_qu.place(x=0, y=50)
pi_liang_pa_qu.place(x=0, y=100)
pa_yin_pin.place_forget()
fan_hui_d_zhu.place_forget()
fan_hui_dao_pa_chong_jie_mian.place(x=468, y=588)
ffan_hui_d_pa.place_forget()
pa_qu_yin_pin_di_zhi_sou_suo_lan.place_forget()
yin_pin_di_zhi_kong_jian.place_forget()
yin_pin_di_zhi_qing_kong.place_forget()
pa_qu_yin_pin_ding.place_forget()
shou_dong_pa_qu_yin_pin.place_forget()
pa_shi_pin.place_forget()
def pa_shi_pin_di_zhi_jie_mian():
shi_pin_di_zhi_kong_jian_DAN.place(x=60, y=100)
pa_yin_pin.place_forget()
shou_dong_pa_qu_yin_pin.place_forget()
pa_shi_pin.place_forget()
fan_hui_d_zhu.place_forget()
#fan_hui_dao_pa_chong_jie_mian.place(x=468, y=588)
pa_qu_shi_pin_di_zhi_sou_suo_lan.place(x=190, y=300)
pa_qu_shi_pin_dan_ge_di_zhi_que_ding.place(x=240, y=325)
dan_qu_pa_qu_shi_pin.place_forget()
pi_liang_pa_qu_shi_pin.place_forget()
fan_hui_dao_pa_chong_jie_mian.place_forget()
fff_pa_shi_pin_suo_yin.place(x=468, y=588)
yin_pin_di_zhi_qing_kong.place(x=335, y=295)
def pa_shi_pin_di_zhi_jie_mian_suo_yin():
dan_qu_pa_qu_shi_pin.place(x=0, y=50)
pi_liang_pa_qu_shi_pin.place(x=0, y=100)
pa_yin_pin.place_forget()
shou_dong_pa_qu_yin_pin.place_forget()
pa_shi_pin.place_forget()
fan_hui_d_zhu.place_forget()
fan_hui_dao_pa_chong_jie_mian.place(x=468, y=588)
fff_pa_shi_pin_suo_yin.place_forget()
shi_pin_di_zhi_kong_jian_DAN.place_forget()
pa_qu_shi_pin_dan_ge_di_zhi_que_ding.place_forget()
pa_qu_shi_pin_di_zhi_sou_suo_lan.place_forget()
yin_pin_di_zhi_qing_kong.place_forget()
# 音频地址 解析
def pa_yin_pin_jie_xi():
# 需全局变量
global yin_bian_1
# 主程序
yin_pin_di_zhi = pa_qu_yin_pin_di_zhi_sou_suo_lan.get() # print(yin_pin_di_zhi)
try:
fan_hui_yin_pin_wnag_yuan_dai_ma = r.get(yin_pin_di_zhi).content
# content
except:
m.showerror("地址异常", "音频爬取异常,请检查地址后重新输入")
else:
fan_hui_yin_pin_wnag_yuan_dai_ma = r.get(yin_pin_di_zhi).content
with open(f"{yin_bian_1}.mp3", "wb") as a:
a.write(fan_hui_yin_pin_wnag_yuan_dai_ma)
yin_bian_1 = yin_bian_1+1
m.showinfo("音频爬取成功", "音频爬取成功,已保存到桌面")
# 音频地址清除
def yin_pin_di_zhi_qing_kong():
for i in range(1000):
pa_qu_yin_pin_di_zhi_sou_suo_lan.delete(0)
def shi_pin_di_zhi_qing_kong():
for i in range(1000):
pa_qu_shi_pin_di_zhi_sou_suo_lan.delete(0)
# 定义按钮
l = tk.Label(w, text="欢迎来到豆豆系统", bg="yellow", fg="blue",
font=("方正喵宋简体"), width=50, height=2)
# 爬虫按钮,爬
pa = tk.Button(w, text="网络爬虫", command=chongjie_di_zhi)
# 返回到主页面按钮,返回到主
fan_hui_d_zhu = tk.Button(w, text="返回", command=chushi)
# 爬取音频 按钮,爬音频
pa_yin_pin = tk.Button(w, text="爬取 音频(地址)",
command=pa_yin_pin_jie_mian_suo_yin)
# 返回到爬虫索引音频按钮,返回到索引
ffan_hui_d_pa = tk.Button(w, text="返回", command=pa_yin_pin_jie_mian_suo_yin)
# 爬虫单音频地址搜索栏
pa_qu_yin_pin_di_zhi_sou_suo_lan = tk.Entry(w, text="0")
# 爬虫音频确定, 爬虫音频定
pa_qu_yin_pin_ding = tk.Button(w, text="确定", command=pa_yin_pin_jie_xi)
# 爬虫界面控件,爬控
pa_kong = tk.Label(w, text="欢迎来到豆豆爬虫系统", bg="yellow",
fg="blue", font=("方正喵宋简体"), width=50, height=2)
# 音频地址控件,提示
yin_pin_di_zhi_kong_jian = tk.Label(
w, text="请输入音频地址或粘贴或歌名或歌手后点击确定即可", bg="red", fg="green", font=("方正喵宋简体"), width=40, height=1)
# 音频地址清除清空,按钮
yin_pin_di_zhi_qing_kong = tk.Button(
w, text="清除", command=yin_pin_di_zhi_qing_kong)
# 单曲爬取
dan_qu_pa_qu = tk.Button(w, text="单曲爬取", command=pa_yin_pin_jie_mian)
# , command=pa_yin_pin_jie_mian_suo_yin
pi_liang_pa_qu = tk.Button(w, text="批量爬取")
# 返回到爬虫界面
fan_hui_dao_pa_chong_jie_mian = tk.Button(
w, text="返回", command=chongjie_di_zhi)
# 手动爬取音频
shou_dong_pa_qu_yin_pin = tk.Button(
w, text="爬取 音频(手动)", command=chongjie_di_zhi)
# 爬取视频(地址)按钮
pa_shi_pin = tk.Button(w, text="爬取 视频(地址)",
command=pa_shi_pin_di_zhi_jie_mian_suo_yin)
# 爬取视频单个地址搜索兰
pa_qu_shi_pin_di_zhi_sou_suo_lan = tk.Entry(w, text="0")
# 爬取视频单个地址确定
pa_qu_shi_pin_dan_ge_di_zhi_que_ding = pa_qu_yin_pin_ding = tk.Button(
w, text="确定", command=pa_dan_shi_pin_jie_xi) #
# 爬取视频单个地址清除
#
yin_pin_di_zhi_qing_kong = tk.Button(w, text="清除", command=shi_pin_di_zhi_qing_kong)
# 视频地址控件,提示 DAN
shi_pin_di_zhi_kong_jian_DAN = tk.Label(
w, text="请输入视频地址后点击确定即可", bg="red", fg="green", font=("方正喵宋简体"), width=40, height=1)
# 视频单个爬取
#
dan_qu_pa_qu_shi_pin = tk.Button(
w, text="单个爬取", command=pa_shi_pin_di_zhi_jie_mian)
# 视频批量爬取
pi_liang_pa_qu_shi_pin = tk.Button(w, text="批量爬取")
# 返回到视频索引
fff_pa_shi_pin_suo_yin = tk.Button(
w, text="返回", command=pa_shi_pin_di_zhi_jie_mian_suo_yin)
# 控件 初始化
#####定义按钮#####
# 欢迎控件
#l = tk.Label(w, text="欢迎来到豆豆系统", bg="yellow", fg="blue",font=("方正喵宋简体"), width=50, height=2)
# 爬虫按钮
#pa = tk.Button(w, text="网络爬虫", command=chongjie)
# 返回按钮
#fanhui = tk.Button(w, text="返回", command=chushi)
# 爬取视频
#pashipin = tk.Button(w, text="爬取 视频", command=chongjie)
# 返回到爬虫界面
##ffan_hui_d_pa = tk.Button(w, text="返回", command=chongjie)
# 总按钮
"""l = tk.Label(w, text="欢迎来到豆豆系统", bg="yellow", fg="blue",font=("方正喵宋简体"), width=50, height=2)
pa = tk.Button(w, text="网络爬虫", command=chongjie)
fanhui = tk.Button(w, text="返回", command=chushi)
pashipin = tk.Button(w, text="爬取 视频", command=chongjie)
ffan_hui_d_pa = tk.Button(w, text="返回", command=chongjie)"""
# 变量初始化
yin_bian_1 = 1
chushi()
w.mainloop()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn