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

爬虫工程师在数据采集过程中,不可避免地会遇到各种各样的问题。我们需要快速地对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,需要做爬虫优化

站长工具功能简介 1、JS加密/解密(将代码以js形式进行加密或解密。) 2、UTF-8编码转换工具(UTF-8编码转换。) 3、Unicode编码转换工具(Unicode编码转换。) 4、友情链接(通过本工具可以批量查询指定网站的友情链接在百度的收录、百度快照、PR以及对方是否链接本站,可以识破骗链接。) 5、META信息检测(通过本工具可以快速检测网页的META标签,分析标题、关键词、描述等是否有利于搜索引擎收录。) 6、MD5加密工具(对字符串进行MD5加密。) 7、sfz号码值查询(查询sfz所在地、性别及出生日期。) 8、HTML/UBB代码转换工具(HTML/UBB代码转换。) 9、HTML/JS互转工具(HTML/JS互转。) 10、搜索蜘蛛、机器人模拟工具(通过本工具可以快速模拟搜索引擎蜘蛛访问页面所抓取到的内容信息!) 11、关键词密度检测(通过本工具可以快速检测页面关键词出现的数量和密度,更适合蜘蛛的搜索。) 12、国家域名查看(查看所有国家的域名。) 13、邮编区号查询(查询各地区的邮编及其区号,支持模糊查询。) 14、域名Whois查询工具(Whois简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商、域名注册日期和过期日期等)。通过域名Whois查询,可以查询域名归属者联系方式,以及注册和到期时间。) 15、死链接检测/全站PR查询(通过本工具可以快速测试网站的死链接。死链接-也称无效链接,即那些不可达到的链接。一个网站存在死链接不是什么好事,首先一个网站如果存在大量的死链接,必将大大损伤网站的整体形象,再者搜索引擎蜘蛛是通过链接来爬行搜索,如果太多链接无法到达,不但收录页面数量会减少,而且你的网站在搜索引擎中的权重会大大降低。该查询可以遍历指定网页的所有链接,并分析每个链接的有效性,找出死链接。) 16、搜索引擎收录查询(通过本工具可以快速查询各大搜索引擎对网站的收录数量!) 17、搜索引擎反向链接(通过本工具可以快速查询各大搜索引擎对网站的反向连接数量!) 18、查询手机号码归属地(查询手机号码的归属地及其手机号类型。) 19、SEO综合查询(SEO综合查询。) 20、PR值查询(PR值全称为PageRank(网页级别),取自Google的创始人LarryPage。它是Google排名运算法则(排名公式)的一部分,是Google用于用来标识网页的等级/重要性的一种方法,是Google用来衡量一个网站的好坏的唯一标准。在揉合了诸如Title标识和Keywords标识等所有其它因素之后,Google通过PageRank来调整结果,使那些更具“等级/重要性”的网页在搜索结果中令网站排名获得提升,从而提高搜索结果的相关性和质量。) 21、关键词排名查询(通过关键词排名查询,可以快速得到当前网站的关键字在Baidu/Google收录的排名情况!有些关键词在各地的排名是不一样的,就是通常说的关键字地区排名。比如:新闻、人才等很多。所以才提供多个地点的服务器提供大家查询。) 22、IP查询(通过该工具可以查询指定IP的物理地址或域名服务器IP和物理地址,及所在国家或城市,甚至精确到某个网吧,机房或学校等;查出的结果仅供参考!) 23、Google收录查询(查询谷歌收录情况。) 24、友情链接查询工具(通过本工具可以批量查询指定网站的友情链接在百度的收录、百度快照、PR以及对方是否链接本站,可以识破骗链接。) 25、友情链接IP查询工具(通过本工具可以批量查询网站友情链接站点的IP地址、服务器物理地址,帮助站长清楚了解友情链接的服务器物理定位。) 26、域名删除查询(.com.net.org等国际域名删除时间,通常在域名到期后的第65或75天,凌晨2点30左右会删除国内域名的删除时间,通常在域名到期后的第15或16天,凌晨4:30会删除友情提示:域名删除时间仅供参考,谢谢!) 27、百度收录查询(本工具为站长提供指定时间内百度搜索对指定网站的收录情况,包括收录的网页数量和网页的具体情况,让您更好地掌握百度搜索对您的网站收录情况。) 28、PR输出值查询(查询网站的PR输出值,PR输出值:带给友情链接的PR值。计算公式:(1-0.85)+0.85*(PR值/外链数)。) 29、查看网页源代码(通过本工具可以快速查找指定网站的页面源代码。) 30、Unix时间戳(Unixtimestamp)转换工具(什么是Unix时间戳(Unixtimestamp):Unix时间戳(Unixtimestamp),或称Unix时间(Unixtime)、POSIX时间(POSIXtime),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值