python tkinter实现下载进度条及抖音视频去水印原理


Posted in Python onFebruary 07, 2021

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)

效果图:

python tkinter实现下载进度条及抖音视频去水印原理

抖音去水印

1.打开抖音链接,获取下图的这个item_id

python tkinter实现下载进度条及抖音视频去水印原理

2.之后使用这个接口请求就ok了

https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6832178122364816644

3.把   playwm 改成 play

python tkinter实现下载进度条及抖音视频去水印原理

以上就是python tkinter实现下载进度条及抖音视频去水印原理的详细内容,更多关于python 下载进度条及抖音视频去水印的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
详解Python的迭代器、生成器以及相关的itertools包
Apr 02 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
Apr 08 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
python使用nntp读取新闻组内容的方法
May 08 Python
Python网站验证码识别
Jan 25 Python
python中urllib.unquote乱码的原因与解决方法
Apr 24 Python
Python日期时间对象转换为字符串的实例
Jun 22 Python
详解Python基础random模块随机数的生成
Mar 23 Python
python的移位操作实现详解
Aug 21 Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
Feb 07 #Python
Python中全局变量和局部变量的理解与区别
Feb 07 #Python
Python抖音快手代码舞(字符舞)的实现方法
Feb 07 #Python
Python图像处理之膨胀与腐蚀的操作
Feb 07 #Python
django inspectdb 操作已有数据库数据的使用步骤
Feb 07 #Python
python数据抓取3种方法总结
Feb 07 #Python
python 批量将中文名转换为拼音
Feb 07 #Python
You might like
星际玩家的三大定律
2020/03/04 星际争霸
SONY SRF-40W电路分析
2021/03/02 无线电
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
php不写闭合标签的好处
2014/03/04 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
javascript数据类型示例分享
2015/01/19 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
vue的全局提示框组件实例代码
2018/02/26 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
vue实现信息管理系统
2020/05/30 Javascript
[10:28]2018DOTA2国际邀请赛寻真——VGJ.S寻梦之路
2018/08/15 DOTA
Python 列表(List)操作方法详解
2014/03/11 Python
python对html代码进行escape编码的方法
2015/05/04 Python
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
全面了解Python环境配置及项目建立
2016/06/30 Python
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
python email smtplib模块发送邮件代码实例
2018/04/26 Python
python实现PID算法及测试的例子
2019/08/08 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
linux下进程间通信的方式
2014/12/23 面试题
测绘工程专业个人自我评价
2013/12/01 职场文书
《闻一多先生的说和做》教学反思
2014/04/28 职场文书
创意婚礼策划方案
2014/05/18 职场文书
创先争优个人承诺书
2014/08/30 职场文书
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技