python爬虫中怎么处理429错误

  介绍

这篇文章将为大家详细讲解有python爬关虫中怎么处理429错误,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

python的优点有哪些

1,简单易用,与C/c++、Java、c#等传统语言相比,python对代码格式的要求没有那么严格;2,python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3,python面向对象,能够支持面向过程编程,也支持面向对象编程;4,python是一种解释性语言,python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5,python功能强大,拥有的模块众多,基本能够实现所有的常见功能。

我们在使用python爬虫爬取页面的过程中爬到某个时刻异常报错,如果是被反爬抓到了,就403年是错误的,那有的时候会出现429错误是什么意思呢? 429错误是指在爬虫的过程中同一时间访问频率过高,因此控制访问的速度就可以了。本文介绍python爬虫中处理429错误的方法及具体代码。

<强>什么是429错误?

429年是太多的请求,http代码429表示访问过快。意思就是同一时间访问频率过高,大多是因为程序并发太高超过代理那边给的帐号的并发限制了。

<>强如何处理?

控制访问的速度就可以了。

有些服务器会在返回的头部中添加“Retry-After",这是通知多久之后重试,获取这个值,然后睡眠就可以了。

<强> python爬虫中处理429错误?

捕获错误

<>之前尝试:,   ,   …   ,   except  aiohttp.ClientResponseError  as  e:,, #,响应错误   ,,,if 状态==,429:   ,,,,,,,retryAfter=癛etry-After"   ,,,,,,,头=e.headers   ,,,,,,,秒=getHeader(头,,retryAfter)   ,,,,,,,if  len (sec)在0:   ,,,,,,,,,,,秒=int (sec)   ,,,,,,,,,,,印刷(状态,“请求过,快服务器要求待“,sec ,, url )   ,,,,,,,,,,,time . sleep (sec), #, If 从而rate  limit  is  renewed  a ,分钟,拷贝,put  60,秒,以及so 。   ,,,,,,,其他的:   ,,,,,,,,,,,印刷(状态,“服务器拒绝了请求,表示请求过快。取消重试,请稍后再试!“,,url)
 def  getHeader(标题,关键):
  ,,,key_lower=key.lower ()
  ,,,headers_lower =, {k.lower (): v  for  k, v 拷贝headers.items ()}
  ,,,if  (key_lower  headers_lower拷贝),:
  ,,,,,,,return  headers_lower [key_lower]
  ,,,:
  ,,,,,,,return  & # 39; & # 39; 

关于“python爬虫中怎么处理429错误”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

python爬虫中怎么处理429错误