最新动态
微信公众号爬虫(综合解决方案)
2024-12-19 11:19

通过搜狗微信先检索公众号,获取公众号主页链接,接着爬每一篇具体文章,具体用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/mobile/ , 查看更多