python爬虫 如何解决http error 503问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫 如何解决http error 503问题相关的知识,希望对你有一定的参考价值。

用python写了个爬虫,用来爬取八百万左右亚马逊商品链接的title,可是总是跑了几个就报http error 503 问题,查了好多还是没解决,望高手们指点指点,谢谢啦

从表面上看,Python爬虫程序运行中出现503错误是服务器的问题,其实真正的原因在程序,由于Python脚本运行过程中读取的速度太快,明显是自动读取而不是人工查询读取,这时服务器为了节省资源就会给Python脚本反馈回503错误。其实只要把爬取的速度放慢一点就好了。比如读取一条记录或几条记录后适当添加上time.sleep(10),这样就基本上不会出现503错误了。我本人在使用中一般是在每一次读取后都运行time.sleep(1)或time.sleep(3),具体的数值根据不同的网站确定。 参考技术A

这个有主要有两种可能:

    你生成的url不正确,这个你可以打印一下,找一个报503的url直接在url里访问,看看是否有问题。

    亚马逊判断出你是爬虫,给禁止返回数据了,这个就需要伪装一下你的爬虫,比如修改爬取间隔,随机使用http header,或者使用代理ip。


如果解决了您的问题请采纳!
如果未解决请继续追问

本回答被提问者和网友采纳
参考技术B 自己做个代理服务器。例如618爬虫代理,再指向次一级代理。或者是直接让爬虫通过http proxy的参数设置去先把一个代理。 代理池通常是租来的,或者是扫描出来的。扫描出来的往往大部分都不可用。 爬虫的实现有几百种方案。通常建议直接从SCRAPY入手。 参考技术C 503表示服务器端出现错误,和你的代码无关;也有可能你爬取得 路径本身有问题 参考技术D 503可能是你的请求头有问题,不要问我为什么,我不知道原理,但是我遇见过错误,重写请求头

以上是关于python爬虫 如何解决http error 503问题的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫报错:"HTTP Error 403: Forbidden"

爬虫403问题解决urllib.error.HTTPError: HTTP Error 403: Forbidden

python学习5 爬虫老是被封如何解决

Python3网络爬虫:urllib.error异常

Python3网络爬虫:urllib.error异常

Python 调用 百度翻译 出现error997 的解决办法