微信公众号采集文章的几种方案

优采云 发布时间: 2020-04-18 09:52

  

  以下是几种微信公众号采集文章的几种方案,供你们参考!

  

  微信公众号采集

  方案一:基于搜狗入口

  在网上能搜索到的公众号文章采集相关的信息来看来看,这是最多、最直接、也是最简单的一种方案。

  一般流程是:

  1、搜狗微信搜索入口进行公众号搜索

  2、选取公众号步入公众号历史文章列表3、对文章内容进行解析入库

  采集过于频繁的话,搜狗搜索和公众号历史文章列表访问就会出现验证码。直接采用通常的脚本采集是难以领到验证码的。这里可以使用无头浏览器来进行访问,通过对接打码平台识别验证码。无头浏览器可采用selenium。

  即便采用无头浏览器同样存在问题:

  1、效率低下(实际上就是在跑一个完整的浏览器来模拟人类操作)

  2、网页资源浏览器加载难以控制,脚本对浏览器加载很难控制3、验证码识别也未能做到100%,中途太可能会打断抓取流程

  如果坚持使用搜狗入口并想进行完美采集的话只有降低代理IP。顺便说一句,公开免费的IP地址就别想了微信文章采集,非常不稳定,而且基本都被陌陌给封了。

  除了面临搜狗/微信的反爬虫机制之外,采用此方案还有其他的缺点:

  无法获得阅读数、点赞数等用于评估文章质量的关键信息

  无法及时获得早已发布公众号文章,只能作定期的重复爬取只能获得近来十条群发文章

  方案二:对手机陌陌进行中间人攻击

  中间人攻击本是某种黑客手法,用于截取客户端与服务端之间的通讯信息。这种方案的思路是在手机陌陌和陌陌服务器之间搭建一个"HTTPS代理",用于查获手机陌陌获取的公众号文章信息。一般性步骤是:

  1、手机陌陌搜索一个公众号

  2、点击步入公众号历史文章页面3、代理辨识早已步入列表页,进行内容查获,同时按照实际情况返回继续下拉或爬取新的公众号的js代码

  这种方案才能实现自动化的缘由是:

  1、微信公众号使用的是HTTPS合同,且内容未加密

  2、微信公众号文章列表和详情本质上是个Web页面,可以嵌入js代码进行控制这些方案的优点:

  1、一般情况下不会被屏蔽

  2、能领到点赞数和阅读数等文章评估信息3、能领到公众号全部的历史文章

  当然,也存在好多缺点:

  1、需要一个常年联网的实体手机

  2、前期须要设置代理,工作量比较大3、本质上还是个轮查的过程,而不是实时推送4、同样有Web加载难以控制的风险,且本地网路环境对其影响特别大5、存在着陌陌插口发生变更代码不再适应的情况

  这种方案还存在着一些变种,比如:

  1、通过lua脚本控制公众号搜索而不是靠代理返回嵌入的js代码

  2、通过GUI操作脚本控制PC端陌陌

  但都存在"不能精确稳定控制"的缺点

  方案三:网页陌陌抓包剖析

  在被陌陌反爬虫虐了很长时间以后,和同学脑部风暴找寻新的微信公众号采集文章爬取方案。就剖析有什么能获得数据的入口。模糊记得网页陌陌是有公众号文章阅读功能的,正好我曾把玩过一段时间个人陌陌机器人,主要使用的是ItChat这个Python包。它实现的原理就是对网页陌陌进行抓包剖析,汇总成个人陌陌插口,目标就是所有网页陌陌能实现的功能它都能实现。。所以就有了一个初步的方案——通过ItChat使微信公众号文章自己推送过来。快放学的时侯和朋友提了一下,他也很感兴趣,第二天就实现下来了验证代码(ItChat实现相应功能代码十分简略微信文章采集,内容解析部份之前就做了,可以直接用)。

  这种方案的主要流程是:

  1、服务器端通过ItChat登入网页陌陌

  2、当公众号发布新文章推送的时侯,会被服务端查获进行后续的解析入库

  这种方案的优点是:

  1、基本零间隔获取早已发布的公众号文章

  2、能获取点赞数、阅读数3、只需手机陌陌保持登入,不用其他操作

  当然缺点也是有的:

  1、需要一台常年联网的手机

  2、手机陌陌不能主动退出,或长时间死机

  微信公众号采集文章基本上就是和腾讯斗智斗勇,费心吃力。直到如今也没能找到一个完美的解决方案,只能按照实际的采集目标,择优选定。要完全服务端,不依赖手机陌陌,不需要点赞数阅读数,有大量代理IP就采用方案一;本地网路稳定且有富裕的手机就用方案二;需要及时获得公众号发布的最新文章的话就用方案三。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线