前言
解决方案
{'ret': -6, 'errmsg': 'unknownerror', 'home_page_list': []}
对于微信账号无法抓包问题,主要出现在python请求代码的问题。
当我们所get所返回到的响应内容出现'msg_count':0值时,代表当前页面所获取的文章为零,这时如果没有停止get请求,即一直发送get请求;
在发送一定次数时就会出现{'ret':-6, 'errmsg': 'unknown error', 'home_page_list': []}响应,get不到我们想要得到的数据。
我们这时会发现如果再用该微信账号去抓取其它的公众号get就会直接返回{'ret': -6, 'errmsg': 'unknown error', 'home_page_list': []}响应,猜测:此时账号被服务器识别,无法返回响应。当换了一个微信账号时,成功返回并抓到了响应的数据。故得出结论:当我们在返回值中出现'msg_count':0时,未终止程序,继续get就会出现账号无法抓取数据包的情况,期限是1天,1天后即可继续抓取。
请求发送过快
当请求发送过快时,也会导致请求响应得不到相应的数据。将sleep的时间设为1、1.5、2秒分别实验后,发现当时间设为1、1.5时,均出现了得不到响应数据的报错,只是1.5秒比1秒所得到的数据多一些。最后发现设为2秒后,没有出现得不到数据包而报错的情况。结论:将sleep=2时,即抓取每一篇文章的间隙设为2秒时,不会出现抓取过快的情况。
总结
联系客服