python爬虫加入进度条
安装tqdm和requests库
pip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simplepip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
带进度条下载
import time # 引入time模块,用于处理时间相关的功能
from tqdm import * # 从tqdm包中引入所有功能,tqdm用于在循环中显示进度条
import requests # 引入requests模块,用于发起网络请求# 设置请求头信息,模拟浏览器访问
headers = {"accept": "*/*", # 接受任何类型的返回数据"accept-language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", # 设置接受的语言类型和优先级"cache-control": "no-cache", # 通知服务器不使用缓存,获取最新的数据"pragma": "no-cache", # 与cache-control类似,某些服务器可能会用到"priority": "i", # 请求的优先级"range": "bytes=2523136-", # 请求部分内容,从指定字节开始到结束"referer": "https://v.jstv.com/", # 通知服务器该请求是从哪个页面来的"sec-ch-ua": "\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Microsoft Edge\";v=\"126\"", # 安全相关的客户端信息"sec-ch-ua-mobile": "?0", # 是否为移动设备"sec-ch-ua-platform": "\"Windows\"", # 客户端平台"sec-fetch-dest": "video", # 请求的目的地,这里是视频"sec-fetch-mode": "no-cors", # 请求模式,不进行跨域资源共享(CORS)预检请求"sec-fetch-site": "same-site", # 请求的站点,这里是同站请求"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0" # 用户代理,模拟浏览器信息
}# 视频文件的URL
url = "https://vod.v.jstv.com/2024/07/08/JSTV_JSGGNEW_1720439020421_QW5qn10_1879.mp4"# 发起网络请求,获取视频文件流,并设置请求头
response = requests.get(url, stream=True, headers=headers)# 获取视频文件的大小,并转换为MB或GB单位显示
contant_size = int(response.headers['content-length']) / 1024 / 1000 # 从响应头中获取内容长度,并转换为MB
if contant_size > 1000:print("视频大小", '{:.2f}'.format(contant_size / 1000), "gb") # 如果大于1000MB,则显示为GB
elif contant_size > 1:print("视频大小", '{:.2f}'.format(contant_size), "mb") # 如果大于1MB,则显示为MB
elif contant_size < 1:print("视频大小", '{:.2f}'.format(contant_size * 1000), "kb") # 如果小于1MB,则显示为KB# 打开一个名为"测试.mp4"的文件,以二进制写模式
with open(r"测试.mp4", "wb") as file:# 使用tqdm进度条显示下载进度for data in tqdm(iterable=response.iter_content(1024 * 1000), # 每次读取1024KB数据total=contant_size, # 进度条的总长度为文件大小postfix='带带爬虫', # 进度条后缀unit='mb', # 显示单位为MBdesc="视频下载"): # 进度条前缀描述file.write(data) # 将读取到的数据写入文件
相关文章:

python爬虫加入进度条
安装tqdm和requests库 pip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simplepip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple带进度条下载 import time # 引入time模块,用于处理时间相关的功能 from tqdm import * # 从tqdm包中…...
力扣844.比较含退格的字符串
力扣844.比较含退格的字符串 栈模拟 class Solution {public:bool backspaceCompare(string s, string t) {int n s.size(),m t.size();stack<char> s1,s2;for(int i0;i<n;i){s1.push(s[i]);if(s[i] #){if(s1.size() 1) s1.pop();else s1.pop(),s1.pop();}}for(i…...
用户特征和embedding层做Concatenation
要将用户特征与嵌入层进行连接,可以使用深度学习框架(如TensorFlow或PyTorch)中的基本操作。以下是使用PyTorch的示例代码,展示了如何将用户特征与嵌入层连接起来。 示例代码(使用PyTorch) 安装 PyTorch 如…...

Ubuntu20.04下修改samba用户密码
Ubuntu20.04下修改samba用户密码 在Ubuntu系统中,修改samba密码通常涉及到两个方面:更改samba用户的密码和重置samba服务的密码数据库。以下是如何进行操作的步骤: 1、更改samba用户密码: 打开终端,使用以下命令更改…...

PHP老照片修复文字识别图像去雾一键抠图微信小程序源码
🔍解锁复古魅力,微信小程序黑科技大揭秘!老照片修复&更多神奇功能等你来试! 📸 【老照片修复,时光倒流的美颜术】 你是否珍藏着一堆泛黄的老照片,却因岁月侵蚀而模糊不清?现在…...
识别色带详解解释
这段代码主要用于检测图像中的绿色区域,并在检测到特定数量的绿色像素时采取相应的动作。下面是每行代码的详细解释: if (divergerColor "green") {目的: 检查当前 divergerColor 是否为 “green”。如果是,则进入代码块进行绿色…...
如何用 Python 绕过 cloudflare(5秒盾) 抓取数据:也不是很难嘛!
大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。 逆向是爬虫工程师进阶必备技能,当我们遇到一个问题时可能会有多种解决途径,而如何做出最高效的抉择又需要经验的积累。本期文章将以实战的方式,带你全面了解 cloudflare(5秒盾) 以及如何绕过使用 cloudflare 服务…...
掌握Conda配置术:conda config命令的深度指南
掌握Conda配置术:conda config命令的深度指南 引言 Conda是一个功能强大的包管理器和环境管理器,广泛用于Python和其他科学计算语言的依赖管理。conda config命令是Conda套件中用于配置和自定义Conda行为的关键工具。通过这个命令,用户可以…...
MySQL:left join 后用 on 还是 where?
在MySQL中,LEFT JOIN用于返回左表(即LEFT JOIN关键字左边的表)的所有记录,即使在右表中没有匹配的记录。对于那些右表中没有匹配的记录,结果集中右表的部分会被填充为NULL。关于ON和WHERE子句的使用,它们在…...
openfoam生成的非均匀固体Solid数据分析、VTK数据格式分析、以及paraview官方用户指导文档和使用方法
一、openfoam生成的非均匀固体Solid数据分析 二、VTK数据格式分析 三、paraview官方用户指导文档和使用方法 官网文档链接:在paraview软件中,点击工具栏中的help->paraview guide 即可直接跳转到浏览器打开官网指导页面。 官网链接如下:…...

JVM:类的生命周期
文章目录 一、介绍二、加载阶段三、连接阶段1、验证阶段2、准备阶段3、解析阶段 四、初始化阶段 一、介绍 类的生命周期描述了一个类加载、连接(验证、准备和解析)、初始化、使用、卸载的整个过程。 二、加载阶段 加载(Loading)…...

几种不同的方式禁止IP访问网站(PHP、Nginx、Apache设置方法)
1、PHP禁止IP和IP段访问 <?//禁止某个IP$banned_ip array ("127.0.0.1",//"119.6.20.66","192.168.1.4");if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) ){die ("您的IP禁止访问!");}//禁止某个IP段…...

经典 SQL 数据库笔试题及答案整理
最近有蛮多小伙伴在跳槽找工作,但对于年限稍短的软件测试工程师,难免会需要进行笔试,而在笔试中,基本都会碰到一道关于数据库的大题,今天这篇文章呢,就收录了下最近学员反馈上来的一些数据库笔试题…...

JS代码动态打印404页面源码
JS代码动态打印404页面源码,适合做网站错误页,具有js动态打印效果,喜欢的朋友可以拿去 源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务…...

从“钓”到“管”:EasyCVR一体化视频解决方案助力水域安全管理
一、背景 随着城市化进程的加快,越来越多的市民热衷于钓鱼活动。钓鱼活动在带来乐趣的同时,也伴随着一定的安全隐患。尤其是在一些危险水域,也经常出现垂钓者的身影,非法垂钓,这给城市管理带来了不小的阻力。传统的人…...

springboot大学生竞赛管理系统-计算机毕业设计源码37276
摘 要 随着教育信息化的不断发展,大学生竞赛已成为高校教育的重要组成部分。传统的竞赛组织和管理方式存在着诸多问题,如信息不透明、效率低下、管理不便等。为了解决这些问题,提高竞赛组织和管理效率,本文设计并实现了一个基于Sp…...

提高LabVIEW软件的健壮性
提高LabVIEW软件的健壮性,即增强其在各种操作条件下的可靠性和稳定性,是开发过程中非常重要的一环。健壮的软件能够在面对意外输入、极端环境和系统故障时依然表现出色,确保系统的连续性和可靠性。以下是详细的方法和策略,从多个角…...

不同深度的埋点事件如何微妙地改变广告系列的成本
/ 作者简介 / 本篇文章来自现金贷领域市场投放大佬 亮哥 的投稿,主要分享了在广告投放过程中,不同深度的埋点事件如何微妙地改变广告系列的成本的相关经验,相信会对大家有所帮助!同时也感谢作者贡献的精彩文章。 / 前言 …...
Perl 语言进阶学习
Perl 语言进阶学习 在掌握 Perl 的基础知识后,进一步学习 Perl 的高级特性和应用,将有助于提升编程效率和解决复杂问题的能力。本文将详细介绍 Perl 语言的高级功能、最佳实践以及实际应用案例。 目录 高级数据结构 多维数组复杂数据结构 引用与匿名数…...

el-input-number @input.native触发,修改值失效
试过在方法里用this.$set()、this.$next(()>{})没生效 解决方案:如下...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...