Python爬虫常见HTTP状态码及解决方案

2023-11-11

爬虫工程师在数据采集过程中,不可避免地会遇到各种各样的问题。我们需要快速地对HTTP请求返回的各种异常状态码来判断处理,以便于我们及时调整爬虫策略,优化思路,及时完成作业。

正常情况下,在使用代理IP时会出现以下错误状态码:

一、代理链接失败

还没开始,就是失败的情况也是非常常见的,工欲善其事必先利其器,我们在购买代理IP之前,先抓取几个测试一下IP地址是否失效。

二、http状态码1XX系列

请求已被接受,需要继续处理。

值得一提的是,除非在某些试验条件下,服务器禁止向此类客户端发送此类响应。

三、http状态码2XX系列

代表请求已成功被服务器接收、理解、并接受。

最常见的有200、201状态码:

1.http状态码200

请求已成功,请求所希望的响应头或数据体将随此响应返回

2.http状态码201

请求成功并且服务器创建了新的资源,且其 URI 已经随Location 头信息返回。

2.http状态码202

服务器已接受请求,但尚未处理

四、http状态码3XX系列

需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址在本次响应的 Location 域中指明。

1.http状态码301

被请求的资源已永久移动到新位置。

服务器返回此响应时,会自动将请求者转到新位置。

2.http状态码302

一般访问HTTPS的网站,会出现自动跳转,这属于正常现象,如果访问的是http网站,出现302就是网站拒绝服务,这时候,出现大量302,就需要我们进行优化爬虫策略。

五、http状态码4XX系列

4XX系列:表示请求错误。代表了客户端可能发生了错误,妨碍了服务器的处理。

1.http状态码401

请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。

2.http状态码403

服务器拒绝请求,可能由目标网站的防护措施导致,建议升级爬虫策略。

与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。

3.http状态码404

404状态码:请求失败,请求所希望得到的资源未被在服务器上发现。

这个状态码被广泛应用于:当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。

4.http状态码407

代理认证信息错误,需要用户认证,需要带正确的用户认证头。

5.http状态码429

返回这个状态码有两种可能:

1.请求超过了代理的限制,我们需要控制好每个代理IP的请求,降低请求或者增加IP量,例如可以按照300毫秒为单位进行管理;

2.如果大量出现429,就证明是目标网站有反爬机制,限制爬虫的请求。

六、http状态码5XX系列

服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。

1.http状态码500

服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。

一般来说,这个问题都会在服务器的程序码出错时出现。

2.http状态码503

由于临时的服务器维护或者过载,服务器当前无法处理请求。

这个基本是暂时状态,一段时间会恢复

3.http状态码504

返回504有两种情况:

1.代理正在切换IP,休息一段时间再试即可;

2.目标网站不可达,也就是目标网站封了代理IP,需要做爬虫优化

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python爬虫常见HTTP状态码及解决方案 的相关文章

随机推荐

  • Spring参数校验--List<E>类型参数校验

    1 遇到的问题 今天开发接口 遇到请求参数固定为List
  • 2023年第三届能源、电力与电气工程国际会议 (CoEEPE 2023)

    会议简介 Brief Introduction 2023年第三届能源 电力与电气工程国际会议 CoEEPE 2023 会议时间 2023年11月22日 24日 召开地点 澳大利亚 墨尔本 大会官网 www coeepe org 2023年第
  • Javascript:谈谈JS的全局变量跟局部变量

    今天公司一个实习小妹子问我两段JS代码的区别 我想 好简单
  • 干货分享:六个知名的Go语言web框架

    框架一直是敏捷开发中的利器 能让开发者很快的上手并做出应用 甚至有的时候 脱离了框架 一些开发者都不会写程序了 成长总不会一蹴而就 从写出程序获取成就感 再到精通框架 快速构造应用 当这些方面都得心应手的时候 可以尝试改造一些框架 或是自己
  • 【华为OD机试】 阿里巴巴找黄金宝箱(I)【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 一贫如洗的樵夫阿里巴巴在去砍柴的路上 无意中发现了强盗集团的藏宝地 藏宝地有编号从0 N的箱子 每个箱子上面贴有一个数字 箱子中可能有一个黄金宝箱 黄金宝箱满足排在它
  • BurpSuite实战教程01-web渗透安全测试(靶场搭建及常见漏洞攻防)

    渗透测试 渗透测试 Penetration test 即安全工程师模拟黑客 在合法授权范围内 通过信息搜集 漏洞挖掘 权限提升等行为 对目标对象进行安全测试 或攻击 最终找出安全风险并输出测试报告 Web渗透测试分为白盒测试和黑盒测试 白盒
  • 在浏览器输入URL,按下回车之后的流程?

    1 在浏览器中输入一个URL 2 查找本地配置文件 如果之前有访问过 浏览器会进行缓存 如果没有的话会在本机域名解析文件hosts文件中寻找是否存在该URL的域名映射 如Windows的配置文件 C Windows System32 dri
  • NIO初级例子

    NIO初级例子 前言 一 代码撸上 前言 使用window系统环境 window 环境测试 测试使用telnet ip 端口 win R cmd 输入telnet id port Ctrl send 发送信息 缺点 无阻塞 但是cpu空转
  • UE4_代理示例_时钟

    时钟 TimeOfDayHandler 注册代理 执行代理 Fill out your copyright notice in the Description page of Project Settings pragma once inc
  • 陇原战“疫“2021网络安全大赛 Web EasyJaba

    陇原战 疫 2021网络安全大赛 Web EasyJaba 文章目录 陇原战 疫 2021网络安全大赛 Web EasyJaba 不出网 参考链接 查看源码 禁用了一些类 这里说一下反编译工具的情况 之前我一直用的jd gui 但是本题的附
  • SQLi-LABS(21~25a关详解)

    SQLi LABS Less 21 查看题目环境 登陆给我回显的数据是I LOVE YOU COOKIES 这题看了网上的wp才知道原来是将我们的uname和passwd都进行base64编码 表示不知道怎么看出来的 Cookie unam
  • StandardScaler函数用法

    StandardScaler 是来自 sklearn preprocessing 模块的一个类 其作用是进行特征缩放 使得所有特征的均值为 0 标准差为 1 这种处理方式也被称为数据的标准化 Standardization 或者 Z Sco
  • webView打开的页面和手机浏览器打开的不一样

    同一个url 用webView打开的和直接打开的不一样 webView打开的自动就有个商品在里面了 而且按钮也点击无效 大神们帮帮忙吧
  • java socket聊天室 swing做界面 Tcp为通讯协议 支持私聊 群聊 发文件

    Java的的的的聊天室 源代码下载 首先我们来看看程序界面 丑到爆 勉强能用就行啦 第一个 登录界面 第二个 用户界面 第三个 服务器界面 好了上面三个界面是程序的主界面 下面我们先讲讲如何使用源代码 使用条件 一数据库 我这里用的MyS
  • Linux系统点亮LED

    目录 应用层操控硬件的两种方式 sysfs 文件系统 sysfs 与 sys 总结 标准接口与非标准接口 LED 硬件控制方式 编写LED 应用程序 在开发板上测试 对于一款学习型开发板来说 永远都绕不开LED 这个小小的设备 基本上每块板
  • webstorm配置sass

    最近用webstorm 做项目 使用create react app创建项目 安装node sass chokidar 使用命令行来将sass转换为css 不尽人意的是 在vscode 可以正常使用 到了webstorm TM 一直不会自动
  • 视频点播服务器的配置如何选择,需要多大的带宽

    对于普通的企业网站 服务器带宽只需5M 10M 每天面对1w用户是没有问题的 图片网站 10M带宽可能只支持100 1k人 天访问 然后 如果是一个视频点播网站 服务器的带宽将增加几十倍 特别是对于视频点播服务器 瓶颈是带宽 视频点播服务器
  • 知识星球-伙伴匹配系统笔记2

    朋友伙伴匹配系统笔记2 1 前端整合路由 下载vue router 由于我们使用的是vue3 所以对应的是4版本的路由 npm install vue router 4 或者 yarn add vue router 4 如下图 前端整合路由
  • BootLoader介绍

    文章目录 一 BootLoader的引入 二 BootLoader的启动方式 三 BootLoader的结构和启动过程 四 自己写一个BootLoader 1 BootLoader第一阶段 2 BootLoader第二阶段 一 BootLo
  • Python爬虫常见HTTP状态码及解决方案

    爬虫工程师在数据采集过程中 不可避免地会遇到各种各样的问题 我们需要快速地对HTTP请求返回的各种异常状态码来判断处理 以便于我们及时调整爬虫策略 优化思路 及时完成作业 正常情况下 在使用代理IP时会出现以下错误状态码 一 代理链接失败