python tkinter实现下载进度条及抖音视频去水印原理
作者:乌拉队长 发布时间:2023-01-26 11:00:14
标签:python,tkinter,下载,进度条,抖音视频,去水印
tkinter下载进度条
利用python爬取网站数据进行下载时,显示下载进度
# 设置下载进度条
tk.Label(window, text='下载进度:').place(x=40, y=80)
canvas = tk.Canvas(window, width=600, height=16, bg="white")
canvas.place(x=20, y=90)
# 下载按钮函数
def usr_download():
response = session.get(url_str, headers=headers2, cookies=cookies_xxx, verify=False, stream=True) # stream=True表示请求成功后并不会立即开始下载,而是在调用iter_content方法之后才会开始下载
chunk_size = 40960 # 设置每次下载的块大小
content_size = int(m4a.headers['content-length']) # 从返回的response的headers中获取文件大小
# 填充进度条
fill_line = canvas.create_rectangle(1.5, 1.5, 0, 23, width=0, fill="green")
raise_data = 600 / (content_size/chunk_size) # 增量大小,600为进度条的长度
# 将下载的数据写入文件
with open(title + '.m4a', 'wb') as f:
n = 0
for data in response.iter_content(chunk_size=chunk_size): # 在循环读取文件时,刷新进度条
f.write(data)
n = n + raise_data
canvas.coords(fill_line, (0, 0, n, 60))
window.update()
# 清空进度条
def clean_progressbar():
# 清空进度条
fill_line = canvas.create_rectangle(1.5, 1.5, 0, 23, width=0, fill="white")
x = 500 # 未知变量,可更改
n = 600 / x # 465是矩形填充满的次数
for t in range(x):
n = n + 600 / x
# 以矩形的长度作为变量值更新
canvas.coords(fill_line, (0, 0, n, 60))
window.update()
# 下载按钮
btn_download = tk.Button(window, text='开始下载', command=usr_download)
btn_download.place(x=600, y=28)
效果图:
抖音去水印
1.打开抖音链接,获取下图的这个item_id
2.之后使用这个接口请求就ok了
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6832178122364816644
3.把 playwm 改成 play
来源:https://blog.csdn.net/asdfg6541/article/details/93918703


猜你喜欢
- CocosCreator版本:2.3.4cocos没有List组件,所以要自己写。从cocos的example项目中找到assets/cas
- 1.安装vscode和python3.7(安装路径在:E:\Python\Python37);2.打开vscode,在左下角点击设置图标选择
- TensorFlow 定义输入节点名称input_name: with tf.name_scope('input'): &
- 最近看了下go发送smtp邮件,于是总结一下简单示例 先上一个最简单的代码 (网上搂的代码改了改)package mainimport (
- 引子如果遇到了 Must provide secret_key to use csrf错误提醒,原因就是没有设置secret_key ,在代
- 1. 数组数组是 Golang 中的一种基本数据类型,用于存储固定数量的同类型元素。在 Golang 中,数组的长度是固定的,并且必须在定义
- 本文实例讲述了Python pymongo模块用法。分享给大家供大家参考,具体如下:MongoDB优点 MongoDB是一个为当代web应用
- 先上需要用到的全部代码片段(截取) MenuControl.prototype.boxDisplay = false;//是否显示图层选择菜
- 本文实例为大家分享了梅尔倒谱系数实现代码,供大家参考,具体内容如下""" @author: zoutai@fi
- LABjs 是一个很小的 JavaScript 工具,用来根据需要加载 JavaScript 文件,通过使用该工具可以提升页面的性能,避免加
- 什么是组件:组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义的元素,Vue.js的
- SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
- 最近,QQ的办公版本——TIM进行了一次更新升级。本次更新升级大幅修改了界面的样式,看起来更加的清爽、简洁和高效了。这种界面州的先生还是比较
- 看了很多网上的方法,写入文件后打开文件看确实不再是乱码,但是从文件中读入json时发现了乱码,可能是读文件默认的编码格式不对。下面读写方法可
- 前言前面一直使用命令行运行pytest用例,本篇来学下使用pytest.main()来运行测试用例pytest.main()args 传一个
- 1.索引问题索引是数据库优化中最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数 的SQL性能问题。本章节将对MySQL中的索引
- 问题描述有时候,产品让我们做的表格,会有合并列的功能,但是官方的demo略有不清晰,本文举个例子简述之。我们先看下效果图:假设产品的需求是这
- cgi.h #ifndef CGI_H#define CGI_H#include <stdio.h>#include <s
- Zabbix没有报表导出的功能,于是通过编写脚本导出zabbix数据并发邮件。效果如下:下面是脚本,可根据自己的具体情况修改:#!/usr/
- 一、Linux系统查看Python路径whereis python此命令将会列出系统所安装的所有版本的Python的路径效果如下: