吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2516|回复: 16
收起左侧

[Python 转载] tkinter的第一次使用

[复制链接]
Zeaf 发表于 2020-3-15 16:07
本帖最后由 Zeaf 于 2020-3-15 16:12 编辑

之前看见一位大大发的教程https://www.52pojie.cn/thread-1131919-1-1.html
感觉还比较易懂,于是马上 上手试了试,体验良好,再修改了一下另一位大佬(@370125229)的代码,我成功弄出了一个船新版本
好像不能发成品,就不放了
[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-
"""
Created on Sun Mar 15 12:39:32 2020

@author: 370125229 and Zeaf
"""
import tkinter as tk
from tkinter import END  #单独把这个申明是因为后面的往text控件插入内容会报错
import requests,re
import time

# 一个顶层窗口的实例(Top Level),也称为根窗口
# #------------------------------窗口-----------------------------------#
window = tk.Tk()  #创建最上层主窗口
window.title("视频下载") #窗口标题
window.geometry("900x600") #窗口大小,中间是英文x,而不能是运算符*,很搞笑
#lable 组件是显示文字或图片,第一个参数是父窗口名称。
#text,参数显示内容,\n用来换行。每一行居中显示,靠左显示没研究,不需要,没那么高的要求。
#font字体,窗口太大,不设置字体,就会很小。
#place是依据主窗口的相对位置,,x就是x轴,下面所有的控件都需要这样定位
tk.Label(window,text="使用说明:分享链接请进入每个用户的界面点击它的视频进行分享,然后粘贴到本程序即可。",font=("华文行楷", 20)).place(x=50,y=20)
tk.Label(window,text="链接:",font=("华文行楷", 20)).place(x=50,y=150)
#Text组件用于显示和处理多行文本。我用来展示程序的运行状态,输出到这个组件里面
show_text = tk.Text()
show_text.place(x=500,y=150) 
#Entry输入框,输入的值必须要定义,这里定义成字符串类型
var_token = tk.StringVar()
#Entry输入框,输入的值必须要定义
entry_token = tk.Entry(window,textvariable = var_token)
entry_token.place(x=160,y=150) 
#按钮组件点击触发的函数,我把输入框的获取到的两个值输出到Text控件
#END就是插入到Text控件里面最后。
#.get就是获取目标的输入框的方法
def get_tar():
    token =  var_token.get() 
    share = token
    time.sleep(1)#停顿1s
    pat = '(https://v.douyin.com/.*?/)'  
    url = re.compile(pat).findall(share)[0]  #正则匹配分享链接
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3904.108 Safari/537.36'
    }
    r = requests.get(url, headers=headers)
    pat = 'playAddr: "(.*?)",'
    play = re.compile(pat).findall(r.text)[0].replace("playwm", "play")
    headers = {
        'user-agent': 'Android',
    }
    r = requests.get(play, headers=headers, allow_redirects=False)
    geturl = r.headers['location']
    response = requests.get(geturl, headers=headers)
    show_text.insert(END, '获取到的链接:\n'+geturl+'\n保存成功!')
    with open('短视频.mp4', 'wb') as f:  # 用wb模式打开创建文件,w写模式
        f.write(response.content)  # 写入二进制文件内容  
        f.close
 
#Button组件,按钮组件,主要是触发一些功能,command指向一个函数就只触发的功能函数
get_detail = tk.Button(window,text='解析',font='20',command = get_tar)
get_detail.place(x=170,y=230)
 
 
#启动主窗口循环
window.mainloop()
示例.png
示例2.png

免费评分

参与人数 2吾爱币 +2 收起 理由
Futuresing + 1 用心讨论,共获提升!
逝去的流梦 + 1 用心讨论,共获提升!

查看全部评分

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

jidesheng6 发表于 2020-3-16 16:22
...python不推荐做exe,一个是要打包运行环境,然后requests库,tk库,你导入的库如果是全库导入文件很大,你这个抖音解析我用易语言写了一个生成出来不超过1MB,用的库一多,代码量一大,你打包就要上百MB了
huhus123 发表于 2020-3-19 17:01
Zeaf 发表于 2020-3-15 18:43
萌新只会pyinstaller打包...而这个打包一般都比较大

不管用什么打包,生成的exe都很大,因为python是解释型语言不是编译型语言。
逝去的流梦 发表于 2020-3-15 16:26
头像被屏蔽
mokson 发表于 2020-3-15 16:27
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| Zeaf 发表于 2020-3-15 16:28
mokson 发表于 2020-3-15 16:27
生成的exe,有多大?

只有17M
头像被屏蔽
mokson 发表于 2020-3-15 16:37
提示: 作者被禁止或删除 内容自动屏蔽
小小三毛 发表于 2020-3-15 17:20
{:1_921:顶。。。
 楼主| Zeaf 发表于 2020-3-15 18:43
mokson 发表于 2020-3-15 16:37
这个小窗口类型的小工具,按照常规逻辑思想,一般不会超过500kb

萌新只会pyinstaller打包...而这个打包一般都比较大
callme401 发表于 2020-3-15 20:00
这是斗鱼去水印的吗
 楼主| Zeaf 发表于 2020-3-15 20:01
callme401 发表于 2020-3-15 20:00
这是斗鱼去水印的吗

仔细看下拼音
Futuresing 发表于 2020-3-15 20:16
优秀!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-17 03:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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