Python|抓取微信公众号的问题 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 公众号相关 >

Python|抓取微信公众号的问题

发表时间:2020-10-17

发布人:葵宇科技

浏览次数:48

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

欢迎加入团队圈子!与作者面对面!直接点击!

前言

对于抓取微信公众号文章主要通过代理ip抓包进行的操作,总会出现一些问题,以下问题导致无法抓包。

解决方案

微信账号无法抓包问题:

{'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秒时,不会出现抓取过快的情况。

总结

该博客主要是讲述小编在抓取微信公众号所遇到的主要的问题,即发送请求的相关问题,希望对读者有所帮助。

END

编 辑 | 王文星

责 编 | WZY

能力越强,责任越大。实事求是,严谨细致。

——where2go 团队



微信号:算法与编程之美

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

相关案例查看更多