python爬虫中如何解决418问题

最近在批量获取微博数据的过程中会阶段性的报418错误,一开始并没有什么影响,但是长时间报错感觉会消耗任务,还是有点影响。所以就进行了解决问题之路。

在这里插入图片描述

因为418第一次遇到,还不了解这个状态码的意思所以百度了下,原来状态码4**表示出错,网站的反爬程序返回的。第一反应是不是代理的原因导致的,所以咨询了使用的亿牛云代理,他们技术通过测试发现跟代理没有关系。所以我对自己的python库的版本进行了检查,发现库的版本有点旧了,于是更新的版本,并且补充上headers,目的是模拟浏览器,欺骗服务器,获取和浏览器一致的内容import requests

url =‘ttps://s.weibo.com/realtime?q=%23’

headers={‘Referer’: ‘ttps://s.weibo.com/realtime?q=%23’,User-Agent’:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36’}

response=requests.get(url, headers=headers,timeout=3) response 最后访问的结果都显示的是200,那问题就这样解决了。对于爬虫中的状态码我们还是需要多了解下,这样在工作中遇到问题了就能更快更及时的想到应对的办法。​若有收获,就点个赞吧