当前位置: 首页 > news >正文

Python爬虫requests判断请求超时并重新post/get发送请求


在使用Python爬虫中,你可以使用requests

import requests
#Python爬虫requests判断请求超时并重新post发送请求,proxies为代理
def send_request_post(url, data, headers , proxies , max_retries=3, timeout=5):retries = 0while retries < max_retries:try:# 去掉警告requests.packages.urllib3.disable_warnings()response = requests.post(url=url, json=data, headers=headers , verify=False, proxies=proxies,timeout=timeout)if response.status_code == 200:# 请求成功,返回响应return responseexcept requests.exceptions.Timeout:print(f"POST请求超时,正在进行第 {retries + 1} 次重试...")except requests.exceptions.RequestException as e:print(f"请求发生异常:{e}")retries += 1print("请求失败,达到最大重试次数。")return None#Python爬虫requests判断请求超时并重新get发送请求,
def send_request_get(url, max_retries=3, timeout=5):retries = 0while retries < max_retries:try:response = requests.get(url, timeout=timeout)if response.status_code == 200:# 请求成功,返回响应return responseexcept requests.exceptions.Timeout:print(f"GET请求超时,正在进行第 {retries + 1} 次重试...")except requests.exceptions.RequestException as e:print(f"请求发生异常:{e}")retries += 1print("请求失败,达到最大重试次数。")return None
#示例:get获取代理ip
def get_ip():response = send_request_get('http:/xxxxxxxxxxxxxx/tip')if response:data = json.loads(response.text)proxies = {"http": "http://%(proxy)s" % {"proxy": data["ip"]}, "https": "http://%(proxy)s" % {"proxy": data["ip"]}}return proxies
#示例post
send_request_post(url, data, headers, proxies)

在上面的示例中,send_request_get函数接受一个URL作为参数,并可选地指定最大重试次数和超时时间。函数使用requests.get发送GET请求,并设置了超时时间为5秒。如果请求超时,会捕获requests.exceptions.Timeout异常,并输出重试信息。如果发生其他异常,会捕获requests.exceptions.RequestException并输出相关信息。

你可以调整max_retriestimeout的值来适应需求。

相关文章:

Python爬虫requests判断请求超时并重新post/get发送请求

在使用Python爬虫中&#xff0c;你可以使用requestsimport requests #Python爬虫requests判断请求超时并重新post发送请求&#xff0c;proxies为代理 def send_request_post(url, data, headers , proxies , max_retries3, timeout5):retries 0while retries < max_retries…...

CSS中如何实现多列布局?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 多列布局&#xff08;Multi-column Layout&#xff09;⭐ column-count⭐ column-width⭐ column-gap⭐ column-rule⭐ column-span⭐ 示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧…...

【C++】string简单实用详解

本片要分享的内容是有关于string的知识&#xff0c;在这之前得介绍一下什么是STL&#xff1b; 目录 1.STL简单介绍 2. string简单介绍 3.string简单使用 3.1.string的定义 3.2.字符串的拼接 3.3.string的遍历 3.3.1.循环遍历 3.3.2.迭代器遍历 4.string的函数构造 1.…...

opencv 进阶16-基于FAST特征和BRIEF描述符的ORB(图像匹配)

在计算机视觉领域&#xff0c;从图像中提取和匹配特征的能力对于对象识别、图像拼接和相机定位等任务至关重要。实现这一目标的一种流行方法是 ORB&#xff08;Oriented FAST and Rotated Brief&#xff09;特征检测器和描述符。ORB 由 Ethan Rublee 等人开发&#xff0c;结合了…...

Unity 类Scene窗口相机控制

类Scene窗口相机控制 &#x1f354;效果 &#x1f354;效果 传送门&#x1f448;...

juc基础(三)

目录 一、读写锁 1、读写锁介绍 2、ReentrantReadWriteLock 3、例子 4、小结 二、阻塞队列 1、BlockingQueue 简介 2、BlockingQueue 核心方法 3、案例 4、常见的 BlockingQueue &#xff08;1&#xff09;ArrayBlockingQueue(常用) &#xff08;2&#xff09;Li…...

c语言函数指针和指针函数的区别,以及回调函数的使用。

函数指针是什么&#xff0c;函数指针本质也是指针&#xff0c;不过是指向函数的指针&#xff0c;存储的是函数的地址。 指针函数是什么,指针函数其实就是返回值是指针的函数&#xff0c;本质是函数。 函数指针是如何定义的呢&#xff0c;如下 void (*pfun)(int a,int b) 这…...

什么是服务端渲染?前后端分离的优点和缺点?

一.概念 服务端渲染简单点就是服务端直接返回给客户端一个完整的页面&#xff0c;也就是一个完整的html页面&#xff0c;这个页面上已经有数据了。说到这里你可能会觉得后端怎么写页面啊&#xff0c;而且服务端返回页面不是加载更慢吗&#xff1f;错了&#xff0c;因为我们现在…...

【Java】优化重复冗余代码的8种方式

文章目录 前言1. 抽取公用方法2. 抽工具类3. 反射4.泛型5. 继承与多态6.使用设计模式7.自定义注解(或者说AOP面向切面)8.函数式接口和Lambda表达式 前言 日常开发中&#xff0c;我们经常会遇到一些重复代码。大家都知道重复代码不好&#xff0c;它主要有这些缺点&#xff1a;可…...

rabbitmq卸载重新安装3.8版本

卸载之前的版本的rabbitmq 卸载rabbitmq 卸载前先停止rabbitmq服务 /usr/lib/rabbitmq/bin/rabbitmqctl stop查看rabbitmq安装的相关列表 yum list | grep rabbitmq卸载rabbitmq相关内容 yum -y remove rabbitmq-server.noarch 卸载erlang 查看erlang安装的相关列表 …...

MyBatis分页思想和特殊字符

目录 一、MyBatis分页思想 1.1 使用场景 1.2 代码演示 二、MyBatis特殊字符 2.1代码演示 一、MyBatis分页思想 1.1 使用场景 Mybatis分页应用场景&#xff1a; MyBatis是一个Java持久层框架&#xff0c;它提供了一种将SQL查询和结果映射到Java对象的简单方式。分页是MyBa…...

设计模式大白话——命令模式

命令模式 一、概述二、经典举例三、代码示例&#xff08;Go&#xff09;四、总结 一、概述 ​ 顾名思义&#xff0c;命令模式其实和现实生活中直接下命令的动作类似&#xff0c;怎么理解这个命令是理解命令模式的关键&#xff01;&#xff01;&#xff01;直接说结论是很不负责…...

[线程/C++(11)]线程池

文章目录 一、C实现线程池1. 头文件2. 测试部分 二、C11实现线程池1. 头文件2. 测试部分 一、C实现线程池 1. 头文件 #define _CRT_SECURE_NO_WARNINGS #pragma once #include<iostream> #include<string.h> #include<string> #include<pthread.h> #…...

VR防地质灾害安全教育:增强自然灾害知识,提高自我保护意识

VR防地质灾害安全教育系统是一种虚拟仿真技术&#xff0c;可以通过虚拟现实技术模拟地震、泥石流、滑坡等地质灾害的发生和应对过程&#xff0c;帮助人们提高应对突发自然灾害的能力。这种系统的优势在于可以增强自然灾害知识&#xff0c;提高自我保护意识&#xff0c;锻炼人们…...

Mybatis多对多查询案例!

在MyBatis中执行多对多查询需要使用两个主要表和一个连接表&#xff08;通常称为关联表&#xff09;来演示。在这个示例中&#xff0c;我们将使用一个示例数据库模型&#xff0c;其中有三个表&#xff1a;students、courses 和 student_courses&#xff0c;它们之间建立了多对多…...

Android OpenCV(七十五): 看看刚”转正“的条形码识别

前言 2021年,我们写过一篇《OpenCV 条码识别 Android 平台实践》,当时的条形码识别模块位于 opencv_contrib 仓库,但是 OpenCV 4.8.0 版本开始, 条形码识别模块已移动到 OpenCV 主仓库,至此我们无需自行编译即可轻松地调用条形码识别能力。 Bar code detector and decoder…...

数据结构——布隆计算器

文章目录 1.什么是布隆过滤器&#xff1f;2.布隆过滤器的原理介绍3.布隆过滤器使用场景4.通过 Java 编程手动实现布隆过滤器5.利用Google开源的 Guava中自带的布隆过滤器6.Redis 中的布隆过滤器6.1介绍6.2使用Docker安装6.3常用命令一览6.4实际使用 1.什么是布隆过滤器&#xf…...

金融学复习博迪(第6-9章)

第6章 投资项目分析 学习目的&#xff1a;解释资本预算&#xff1b;资本预算基本法则 资本预算过程包含三个基本要素&#xff1a; 一提出针对投资项目的建议 一对这些建议进行评价 一决定接受和拒绝哪些建议 6.1项目分析的特性 资本预算的过程中的基本单位是单个的投资项目。投…...

解决idea登录github copilot报错问题

试了好多方案都没用&#xff0c;但是这个有用&#xff0c; 打开idea-help-edit custonm vm options 然后在这个文件里面输入 -Dcopilot.agent.disabledtrue再打开 https://github.com/settings/copilot 把这个设置成allow&#xff0c;然后重新尝试登录copilot就行就行 解决方…...

什么是Flex布局?请列举一些Flex布局的常用属性。

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ Flex布局&#xff08;Flexible Box Layout&#xff09;⭐ Flex布局的常用属性⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之…...

【云原生Java冷启动优化黄金法则】:20年实战提炼的7步精准调优路径(含GraalVM+Quarkus实测数据)

第一章&#xff1a;云原生Java函数计算冷启动问题的本质剖析云原生Java函数计算中的冷启动并非单纯由JVM启动耗时导致&#xff0c;而是多层资源调度与运行时初始化耦合引发的系统性延迟现象。其本质在于函数实例生命周期与请求到达时间的异步解耦——当无活跃实例可用时&#x…...

Python自动化爬取企查查企业工商信息的实战技巧

1. Python爬取企查查数据的核心思路 企查查作为国内权威的企业信息查询平台&#xff0c;包含了大量有价值的工商注册信息。对于金融、证券行业的从业者来说&#xff0c;经常需要批量获取这些数据进行分析。手动一个个查询不仅效率低下&#xff0c;还容易出错。这时候Python自动…...

3个关键步骤让LyricsX成为你的Mac音乐伴侣:从基础到精通

3个关键步骤让LyricsX成为你的Mac音乐伴侣&#xff1a;从基础到精通 【免费下载链接】LyricsX &#x1f3b6; Ultimate lyrics app for macOS. 项目地址: https://gitcode.com/gh_mirrors/ly/LyricsX LyricsX是一款专为macOS设计的歌词工具&#xff0c;能够智能同步显示…...

Nunchaku FLUX.1-dev 文生图技术解析:卷积神经网络在图像生成中的角色

Nunchaku FLUX.1-dev 文生图技术解析&#xff1a;卷积神经网络在图像生成中的角色 最近在尝试各种文生图模型时&#xff0c;Nunchaku FLUX.1-dev 的表现让我印象深刻。它生成的图片不仅细节丰富&#xff0c;而且风格多样&#xff0c;从写实到抽象都能驾驭得很好。这让我不禁好…...

MogFace模型Python入门实战:调用API完成第一个人脸检测程序

MogFace模型Python入门实战&#xff1a;调用API完成第一个人脸检测程序 你是不是也对AI人脸检测感到好奇&#xff0c;想亲手写个程序试试&#xff1f;今天&#xff0c;我们就来一起动手&#xff0c;用Python写一个最简单的程序&#xff0c;调用MogFace模型来检测图片里的人脸。…...

Windows系统管理员必备:LastActivityView详细使用指南(含数据导出技巧)

Windows系统管理员必备&#xff1a;LastActivityView深度实战手册 作为Windows系统管理员&#xff0c;我们常常需要追踪用户活动、排查异常行为或进行合规审计。市面上虽然有不少商业监控工具&#xff0c;但NirSoft出品的LastActivityView以其轻量高效、数据全面且完全免费的特…...

别再为‘file must be a file‘报错头疼了!手把手教你用Apifox搞定Dify文件上传接口

深度解析Dify文件上传接口&#xff1a;从报错排查到Apifox高效调试实战 当你正在为Dify AI应用集成文件上传功能时&#xff0c;是否曾在Apifox中反复遭遇file must be a file的报错而束手无策&#xff1f;这种看似简单的接口调试背后&#xff0c;隐藏着文件传输机制、参数组合…...

从Vaihingen数据集到训练样本:高分辨率遥感影像语义分割全流程实战

1. 初识Vaihingen数据集&#xff1a;遥感语义分割的黄金标准 第一次接触Vaihingen数据集时&#xff0c;我被它5厘米的超高分辨率震撼到了。这个由ISPRS提供的基准数据集&#xff0c;虽然只包含38张60006000像素的影像&#xff0c;但每张都清晰地展现了德国小镇Vaihingen的街道、…...

LSM303DLHC六轴IMU硬件设计与磁场校准实战指南

1. LSM303DLHC 器件概述与工程定位LSM303DLHC 是意法半导体&#xff08;STMicroelectronics&#xff09;推出的一款高集成度、低功耗的六轴惯性测量单元&#xff08;6-DoF IMU&#xff09;&#xff0c;由独立封装的三轴加速度计&#xff08;LIS3DH 兼容架构&#xff09;和三轴磁…...

ESP32嵌入式Web文件管理器:支持SPIFFS/LittleFS/SD卡

1. EspWebFileManager 库概述EspWebFileManager 是一款专为 ESP32 平台设计的嵌入式 Web 文件管理中间件库&#xff0c;其核心目标是将本地文件系统操作能力通过轻量级 HTTP 服务暴露至浏览器端&#xff0c;实现免串口、免烧录工具的现场文件运维。该库并非独立文件系统驱动&am…...