推广 热搜:   公司  企业  中国  快速    行业  上海  未来  设备 

微信公众号爬虫(综合解决方案)

   日期:2024-12-19     移动:http://fabua.ksxb.net/mobile/quote/4129.html

通过搜狗微信先检索公众号,获取公众号主页链接,接着爬每一篇具体文章,具体用selenium实现,当然你也可以用webkit、Geoko渲染引擎自己去渲染。用selenium、webkit、Geoko能省去分析网页Js Ajax部分加载逻辑。关于selenium的一些常用操作,后续抽个时间单独写一篇博文儿~。

微信公众号爬虫(综合解决方案)

一般公司内部会部署自己爬虫平台,通过代理池能最终解决此问题,当然也可以用免费开源项目IPProxyPool利用免费爬到的IP构建代理池。在没有用代理池遇到验证码反爬措施时,我们自动识别并填写并维护一个cookie池,即能降低验证码出现的频率。

遇到验证码时的理想状态是自动识别,可通过购买现成接口或自己用CNN训练个模型。本文用的是人肉识别手动填写…

  1. 通过公众号检索页面检索时,超过一定次数后就会出现验证码。
  2. 公众号主页的链接URL会失效。
  3. 通过搜狗微信平台检索出的结果页面HTML数据中,匹配到的公众主页URL不能直接而访问,直接访问会被反爬措施限制,需要经过js处理生成最终的请求URL才能访问(抓包的结果是最终的请求URL)。
  1. Charles移动端、PC端抓包,获取公众号主页加密链接,再后续爬取。但得到的链接可能会失效,失效后还是需要人工手动去分析抓包结果,提取URL,无法做到自动化工程级别的微信爬虫。
  2. 登录自己公众号,通过“检索功能”爬取其他公众号的文章。但检索有上限,500篇一天。
  3. 八爪鱼模板傻瓜抓取。但高级功能收费,同样无法实现工程级别的部署,玩玩还是可以的 。
  4. 自动化测试工具(如Airtest,基于图像识别和poco控件识别的一款UI自动化测试工具)网易团队刚出的,挺新奇,移动端、PC都能抓,有些许bug,可以当做code版免费八爪鱼。同样不太适用于工程级别的部署。

正确的解决办法是识别并破解,但这里我们可以直接通过selenium截图保存本地,人肉识别并把结果输入值CommandLine,再把cookie记录下来维护个cookie池,以后换着用。不过这并不是一个永久的解决方法,只不过苦于时间紧迫,没时间去整验证码识别相关的东西,大家有时间可以学习下CNN训练验证码识别模型。如下实现思路是,判断返回页面中是否存在验证码,若有则down到本地,识别后命令行输入。

 

特别提醒
在模拟填入验证码并点击提交后,需要我们等待一段时间,用于留给微信后端验证,此过程较长,建议5s以上(填了很久才发现这个鬼原因)。否则通过browser.driver.current_url获取到的仍然是验证页面的URL,而不是我们想要的检索页面。

用pickle来实现cookie的存取,注意selenium在设置cookie时需要先加载网站
Login成功后保存cookie

 

请求前读取cookie

 
 

根据公众号主页URL获取该页面下所有的文章Title与URL

 
 
本文地址:http://fabua.ksxb.net/quote/4129.html    海之东岸资讯 http://fabua.ksxb.net/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号