python爬虫加入进度条

安装tqdm和requests库

pip install tqdm -i  https://pypi.tuna.tsinghua.edu.cn/simple

pip 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',  # 显示单位为MB
                     desc="视频下载"):  # 进度条前缀描述
        file.write(data)  # 将读取到的数据写入文件

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/784886.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java】搜索引擎设计:信息搜索怎么避免大海捞针?

一、内容分析 我们准备开发一个针对全网内容的搜索引擎&#xff0c;产品名称为“Bingoo”。 Bingoo的主要技术挑战包括&#xff1a; 针对爬虫获取的海量数据&#xff0c;如何高效地进行数据管理&#xff1b;当用户输入搜索词的时候&#xff0c;如何快速查找包含搜索词的网页…

YOLOv10改进 | EIoU、SIoU、WIoU、DIoU、FocusIoU等二十余种损失函数

一、本文介绍 这篇文章介绍了YOLOv10的重大改进&#xff0c;特别是在损失函数方面的创新。它不仅包括了多种IoU损失函数的改进和变体&#xff0c;如SIoU、WIoU、GIoU、DIoU、EIOU、CIoU&#xff0c;还融合了“Focus”思想&#xff0c;创造了一系列新的损失函数。这些组合形式的…

深度解密Spark性能优化之道课程

课程通过实战案例解析和性能调优技巧的讲解&#xff0c;帮助学员提升大数据处理系统的性能和效率。课程内容涵盖了Spark性能调优的各个方面&#xff0c;包括内存管理、并行度设置、数据倾斜处理、Shuffle调优、资源配置等关键技术和策略。学员将通过实际案例的演示和分析&#…

Caterpillar on a Tree

首先一个很显然的地方就是使用传送门肯定是在叶子节点使用&#xff0c;我们来考虑一下整个过程是怎么样的 为了方便&#xff0c;我们不妨假设可以传送回根节点\(k1\)次&#xff0c;然后要求最后回到根节点 我们先从根节点走到某一个叶子结点&#xff0c;然后再从这个叶子节点走…

Open3D 计算点云的平均密度

目录 一、概述 1.1基于领域密度计算原理 1.2应用 二、代码实现 三、实现效果 2.1点云显示 2.2密度计算结果 一、概述 在点云处理中&#xff0c;点的密度通常表示为某个点周围一定区域内的点的数量。高密度区域表示点云较密集&#xff0c;低密度区域表示点云较稀疏。计算…

Kubernetes基于helm部署jenkins

Kubernetes基于helm安装jenkins jenkins支持war包、docker镜像、系统安装包、helm安装等。在Kubernetes上使用Helm安装Jenkins可以简化安装和管理Jenkins的过程。同时借助Kubernetes&#xff0c;jenkins可以实现工作节点的动态调用伸缩&#xff0c;更好的提高资源利用率。通过…

拆分pdf文件最简单的方法,pdf怎么拆成一页一张

在数字化的时代&#xff0c;pdf文件已经成为我们日常办公、学习不可或缺的文档格式。然而&#xff0c;有时候我们可能需要对一个大的pdf文件进行拆分&#xff0c;以方便管理和分享。那么&#xff0c;如何将一个pdf文件拆分成多个pdf呢&#xff1f;本文将为你推荐一种好用的拆分…

HNTs-g-PEG-CDs-Biotin NPs;碳量子点修饰接枝生物素化的羟基磷灰石纳米管

HNTs-g-PEG-CDs-Biotin NPs&#xff0c;即碳量子点修饰接枝生物素化的羟基磷灰石纳米管&#xff0c;是一种结合了多种先进材料特性的纳米复合材料。以下是对该材料的详细分析&#xff1a; 一、组成成分及特性 羟基磷灰石纳米管&#xff08;HNTs&#xff09;&#xff1a; 羟基磷…

多用户挂售转卖竞拍闪拍商城系统/NFT数藏系统/后端PHP+前端UNIAPP源码带教程(亲测源码)

挂售转卖竞拍商城系统源码/竞拍系统/转拍闪拍系统/后端PHP前端UNiapp源码 亲测可用 1、后台管理&#xff1a;系统管理员通过后台可以轻松添加商品进行挂单。这包括商品的详细信息&#xff0c;如名称、描述、价格、库存等。 商品展示&#xff1a;挂单后的商品会在商城前端进行…

22.状态机设计--可乐机设计(投币三元出一瓶可乐)

理论知识&#xff1a; &#xff08;1&#xff09;状态机简写为FSM&#xff08;Finite State Machine&#xff09;&#xff0c;也称为同步有限状态机。同步是指状态的变化都是在时钟的边沿发送变化&#xff0c;有限值得是状态的个数是可数的。 &#xff08;2&#xff09;分类&…

Xilinx FPGA DDR4 接口的 PCB 准则

目录 1. 简介 1.1 FPGA-MIG 与 DDR4 介绍 1.2 DDR4 信号介绍 1.2.1 Clock Signals 1.2.2 Address and Command Signals 1.2.3 Address and Command Signals 1.2.4 Data Signals 1.2.5 Other Signals 2. 通用存储器布线准则 3. Xilinx FPGA-MIG 的 PCB 准则 3.1 引脚…

ElasticSearch第一天

学习目标&#xff1a; 能够理解ElasticSearch的作用能够安装ElasticSearch服务能够理解ElasticSearch的相关概念能够使用Postman发送Restful请求操作ElasticSearch能够理解分词器的作用能够使用ElasticSearch集成IK分词器能够完成es集群搭建 第一章 ElasticSearch简介 1.1 什么…

【Unity2D 2022:】制作NPC

一、创建NPC角色 1. 创建JambiNPC并同时创建Jambi站立动画 &#xff08;1&#xff09;点击第一张图片&#xff0c;按住shift不松&#xff0c;再选中后两张图片&#xff0c;拖到层级面板中 &#xff08;2&#xff09;将动画资源文件保存到Animation Clips文件夹中 &#xff08;…

YOLOv10改进 | 损失函数篇 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数

一、本文介绍 本文给大家带来的是YOLOv10最新改进&#xff0c;为大家带来最近新提出的InnerIoU的内容同时用Inner的思想结合SIoU、WIoU、GIoU、DIoU、EIOU、CIoU等损失函数&#xff0c;形成 InnerIoU、InnerSIoU、InnerWIoU、等新版本损失函数&#xff0c;同时还结合了Focus和…

PHP源码:线上书店系统(附管理后台+前台)

一. 前言 今天小编给大家带来了一款可学习&#xff0c;可商用的&#xff0c;线上书店 源码&#xff0c;支持二开&#xff0c;无加密。项目的内容是销售书籍&#xff0c;可以扩展成pdf&#xff0c;文档等一些虚拟产品的销售。 详细界面和功能见下面视频演示。 二. 视频演示 线…

一个php文件怎么实现联系表单自动发送邮件

学习PHP&#xff1a;如何编写一个自动发送邮件的联系表单处理器&#xff1f; 无论是反馈意见、业务咨询&#xff0c;还是技术支持&#xff0c;联系表单都能为用户提供便捷的交流途径。AokSend将探讨如何通过一个PHP文件实现联系表单的自动发送邮件功能。 php文件&#xff1a;…

【豆包AI】北京春田知韵

看到有国内AI上线了&#xff0c;网络信息那么多&#xff0c;我该怎么找它的官网呢&#xff1f; 找官方网站3步 1百度 关于抖音豆包的网站是哪个?【www.doubao.com】 豆包属于哪个公司&#xff1f;【北京春田知韵科技有限公司】 www.doubao.com 2查询备案号 PC版本的安装…

外卖跑腿小程序APP软件成品系统和软甲开发APP小程序可进行封装打包

&#xff0c;用户友好界面设计 首先&#xff0c;外卖施限小程序APP应具备用户友好的界面设计。界面应简洁明了&#xff0c;让用户能够方便快捷地议,览和选择所需的菜品或服务。系统应提供详细的菜品描述、价格透明&#xff0c;并允许用户根据口味、偏好进行结进和排序。此外&am…

如何保证队列消息的有序性

要保证队列消息的有序性&#xff0c;你可以采取以下几种策略&#xff1a; 1.单一生产者和消费者&#xff1a;确保只有一个生产者向队列发送消息&#xff0c;以及只有一个消费者从队列接收消息&#xff0c;这样可以保证消息的顺序。 2.使用有序集合&#xff1a;如果你使用Redis&…

GPU发展史(二):改变游戏规则的3Dfx Voodoo

小伙伴们&#xff0c;大家好呀&#xff0c;我是老猫。 在上一篇GPU发展史&#xff08;一&#xff09;文章中&#xff0c;我们介绍了1976-1995期间早期显卡的发展故事&#xff0c;今天我们将介绍在1995-1999年这段时间显卡的故事&#xff0c;而这段故事的主角就是——3Dfx 提起…