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下载Bing图片(代码)
Nov 07 Python
Python FTP两个文件夹间的同步实例代码
May 25 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
Jun 04 Python
在python下使用tensorflow判断是否存在文件夹的实例
Jun 10 Python
Python PO设计模式的具体使用
Aug 16 Python
python RC4加密操作示例【测试可用】
Sep 26 Python
pytorch自定义二值化网络层方式
Jan 07 Python
Python如何实现线程间通信
Jul 30 Python
python爬虫scrapy图书分类实例讲解
Nov 23 Python
Python基于Faker假数据构造库
Nov 30 Python
python中复数的共轭复数知识点总结
Dec 06 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读取文件内容的五种方式
2015/12/28 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
微信支付开发维权通知实例
2016/07/12 PHP
js 页面元素的几个用法总结
2013/11/18 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
jQuery对val和atrr("value")赋值的区别介绍
2014/09/26 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
Angularjs实现上传图片预览功能
2017/09/01 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
python比较两个列表是否相等的方法
2015/07/28 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
关于Python错误重试方法总结
2021/01/03 Python
汽车销售顾问求职自荐信
2014/01/01 职场文书
企业办公室岗位职责
2014/03/12 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
小学信息技术教学反思
2016/02/16 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
如何用Python搭建gRPC服务
2021/06/30 Python