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使用mysqldb连接数据库操作方法示例详解
Dec 03 Python
python实现异步回调机制代码分享
Jan 10 Python
跟老齐学Python之用Python计算
Sep 12 Python
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 Python
Python实现对百度云的文件上传(实例讲解)
Oct 21 Python
Python smtplib实现发送邮件功能
May 22 Python
使用Py2Exe for Python3创建自己的exe程序示例
Oct 31 Python
配置 Pycharm 默认 Test runner 的图文教程
Nov 30 Python
python3 批量获取对应端口服务的实例
Jul 25 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
Feb 27 Python
使用Python文件读写,自定义分隔符(custom delimiter)
Jul 05 Python
Python的这些库,你知道多少?
Jun 09 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
PHP个人网站架设连环讲(一)
2006/10/09 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
jquery选择器使用详解
2014/04/08 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
2018/08/30 Javascript
node.js中 redis 的安装和基本操作示例
2020/02/10 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
jquery简易手风琴插件的封装
2020/10/13 jQuery
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
工程师岗位职责
2013/11/08 职场文书
音乐教学案例
2014/01/30 职场文书
班干部演讲稿
2014/04/24 职场文书
贷款承诺书范文
2014/05/19 职场文书
团队激励口号
2014/06/06 职场文书
董事长秘书工作职责
2014/06/10 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
浅谈PHP7中的一些小技巧
2021/05/29 PHP
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis