文章采集接口(微信3.2采集方式3.2.1处理流程及解决方案(一))
优采云 发布时间: 2021-09-26 00:12文章采集接口(微信3.2采集方式3.2.1处理流程及解决方案(一))
3.2 采集 方法
3.2.1 现状
目前微信采集主要有以下三种方式:
(一)通过微信PC版采集,在电脑正常登陆微信PC版后,通过模拟鼠标键盘操作的方式来进行采集。该方式硬件投入较大。
(二)通过微信网页版采集,直接调用程序扫码登录微信网页版,登录后,微信关注的微信公众号,有新的信息推送到微信时,程序会自动获取推送信息。该方式下微信连接容易中断,无法保证采集的稳定性。
(三)直接通过VirtualXposed监控微信。这种方式是程序直接装在手机上,自动拦截推送的信息。通过分析拦截的数据包,解析出有用的数据。该方式成本相对较低,且稳定性较好。
经过多方面的比较,最终选择了第三种方法,即通过VirtualXposed直接监控微信APP收发的所有请求包,对其进行分析,分析出符合要求的文章链接。
3.2.2 替代方案
由于使用VirtualXposed拦截微信推送信息的方式,微信客户端会被篡改
改变,腾讯可能会升级其技术,导致VirtualXposed插件无法再使用。或者,腾讯可以通过技术准确检测到手机是否安装了VirtualXposed插件,导致账号数量庞大,导致采集无法稳定进行。了解可行的备份计划有以下几种方式:
(一)使用3.2.1中的第二种方式。该种方式需要微信号在2017年10月份以前注册,否则无法登陆网页版;
(二)使用AnyProxy抓包的方式。该种方式对技术要求较高,目前尚未进行详细的测试。
3.3 采集进程
微信采集的整体流程如图3-1所示:
图 3-1
主要分为三个部分:
1) 公众号的收集与添加;
2) 文章URL获取与解析;
3) 正文分布式采集;
3.3.1 公众号采集与添加
公众号收款可以通过以下步骤进行:
1) 遍历ES中八友历史数据,解析文章正文中存在的公众号信息,并保存数据;
2) 根据项目关键词,通过搜狗微信公众号搜索,进行搜索解析并保存入库;
3) 特殊需求的公众号由各个项目自行提供;
添加微信公众号详见4.第三节。
3.3.2 文章URL获取与分析
微信文章 URL处理流程如图3-2所示:
图 3-2
3.3.3体采集
文章 文本处理流程如图3-3所示:
图 3-3
3.4 数据存储
微信采集过程中的数据存储主要分为三部分,一是微信和公众号的存储;二是公众号存储文章;三是文章主体信息存储的存储。各个模块的存储在下面的介绍中详细介绍。
3.4.1个微信商店
3.4.2 公众号存储
3.4.3 文章URL 存储
每个微信公众号推送文章后,使用手机安装的VirtualXposed插件获取接收到的数据包,然后将数据包+手机号发送到Redis接口。在Redis集群中解析并存储文章URL数据。
根据巴友微信界面每日数据量分析,微信全账号采集时需要处理的活跃公众号在40万至50万之间,每日文章@ > 大约是 800,000 到 120 万。为了方便管理,计划每天在Redis集群中生成一个hash类型的缓存表。表名格式为:WeChat_yyyyMMdd,其中数据格式为key=URL,value=当前添加时间。如下图3-4所示
图 3-4
3.4.4 采集 历史记录存储
微信文章是分布式进行的。每个采集脚本请求Redis接口服务,获取一定数量的文章 URL,然后将采集 body推送给kafka。同时Redis接口会将请求的URL信息从WeChat_yyyyMMdd缓存中删除,保存在采集历史缓存中。hash类型缓存表名格式为:WeChat_History_yyyyMMdd,如下图3-2所示。其中key=URL,value=请求时的当前系统时间。如下图3-5所示
图 3-5
3.5 采集监控
整个采集过程中需要监控的主要节点有: XPosed插件;Redis接口服务接收、分析、存储;body 采集(源码获取、分析、kafka推送)。具体处理如下:
3.5.1 XPosed 监控
主要分为两部分,一是对XPosed插件本身的监控,防止长时间运行导致的死机;另一种是发送 XPosed 数据包。
XPosed插件:故障机器长时间运行,导致死机。目前也没有很好的处理办法。唯一的办法就是重启插件或者手机;
XPosed数据包:数据包异常主要体现在调用Redis集群接口服务。当接口服务异常时,需要将获取的数据推送到数据库或写入文件,并在接口服务正常时重新发送。
3.5.2 Redis接口服务监控
它主要监控分析和保存XPosed数据包的另外两个步骤。发生异常时,将数据写入本地文件,正常时再次进行二次处理。
3.5.3 文本 采集监控
body采集监控点主要包括四个部分:URL记录、body源下载、body分析、信息推送kafka。
① 已采集URL记录在历史信息表中,保留一个月,用于对采集异常的追溯;
② 正文源码下载:记录请求状态码;
③ 正文解析:记录解析状态;0:成功;1:失败;
④ 信息推送:推送异常数据保存在本地文件,待服务正常时进行二次推送。如果一条信息推送三次均未成功,则表示推送失败,同时删除内容。
同时需要监控服务器IP被封的情况;
3.5.4 添加公众账号监控
目前部分网站有公众号搜索功能。前期可以通过项目相关的关键词在这些网站上搜索,获取一些新注册的公众号。搜索平台如表3-1所示:
搜狗微信公众号搜索%E9%93%B6%E8%A1%8C&ie=utf8&s_from=input&sug=y&sug_type=
推特微信公众号推荐%e9%87%91%e8%9e%8d&t=weixin&p=16
保利微信
4 采集运维管理
微信公众号数据的采集运维工作主要体*敏*感*词*指标分配到数据管理中心的所有人员。每个人在家中或上下班途中进行微信注册和账号维护(发朋友圈、点赞、聊天)。
4.1 微信注册
由于对微信账号的监管逐步加强,新注册的微信账号被封的概率比较高。因此,我们在注册微信账号时需要遵循一定的规则。具体注意事项如下:
① 注册请用官微,不要用那些多开软件注册
② 使用4G网络,千万不要用wifi,不要开GPS。同一个Wifi或GPS多个微信号注册,相当容易被封号的。
③ 每个手机必须提前存3-5个手机号进去,注册成功的时候,可以直接加上微信好友
④ 选择不同位置注册,可使用不同出行方式(公交、地铁、步行),每次注册的距离大于1.5km,每次注册间隔时间大于10分钟,最好分开时间段注册,尽量一批号不要是同一天,最好是分散到 3-5 天注册完成。
⑤ 注册时如果5分钟之内收不到验证码,先暂停该号码注册,不要频繁发送验证码
⑥ 随意关注几个公众号(搜索微信安全中心、京东、爱奇艺搞笑等公众账号)
⑦ 注册后一定先自己任意使用微信,之后注册其他号完成后也要使用一下之前注册的微信
⑧ 注册之后不能将手机关闭
⑨ 新微信号注册,密码不要一样。建议采用:相同字符+手机号的形式,也比较容易记。
⑩ *敏*感*词*的地区一定不要填写,因为一点开就开始获取位置了,这个记录宁可不让微信知道。*敏*感*词*不要一次性全部填完,每天填一点,分批填写,可以增加活跃的权重。
⑪ 设置头像,注意,头像图片必须每张都不一样,如果一定需要设置同样的头像,请通过制图软件修改图片的大小,亮度等,另存成不同的图片,这样对于微信系统来说,可以绕过一定的检测。
⑫ 名字最好多个号都不一样 。
预防措施:
现在有专门的微信账号,购买后可以使用。不过为了安全起见,还是建议登陆一周,期间发一些朋友圈,或者加点微信,每天聊几句,减少异常概率。
4.3 添加公众号
由于每个微信公众号每天只能关注40-50个公众号,同时为保证微信公众号的稳定性(不被封号),公众号的添加需要分时段分配和地点。所有相关人员采集均可参与,并根据实际情况做出相应的奖惩。
具体实现步骤如下:
(1) 根据手机编号,把每一部手机分配到人;
(2) 根据时间节点,合理安排每人每日需要处理的微信号(每天5台 /人)
(3) 通过自动脚本,给每个人当天负责的每个微信号上,通过聊天的方式,给每个微信号发送需要关注的40~50个公众号文章;
(4) 相关人员在办公室(尽量少)、上下班或者家中,添加微信接收到的文章的公众号为关注;
按照上面的方法,
每天可添加公众号:2400~3000[5(站/人·天)*40~50(公众号)
No.)*12(总人数)]。40万到50万公众号最快需要123个工作日
可以通过奖惩,鼓励相关人员处理,加快进度。详情如下:
① 每周每人需正常关注1200个,每多关注1000个奖励200元。
② 如果未达到正常关注数量,当月考核降一级。
4.4 解锁微信ID
4.4.1 导致禁令的情况
文章0@>
4.4.2 解锁微信ID
文章3@>
4.5 采集部署管理
因为微信采集需要大量的手机作为支撑。为了保证采集的稳定性和手机(主要是手机电池)的安全,手机的统一管理极其重要。主要通过以下几个步骤来方便统一管理:
4.5.1 手机支持管理
购买统一的手机支架:要求手机支架稳固,有利于手机散热、充电、搬运等;如图 4-1 所示
文章7@>
图4-1
同时,给手机座编号:
文章8@>
4.5.2 手机管理
主要是给手机编号,分为以下几个步骤:
① 把购买的手机号添加到信源系统的微信号管理功能下;
② 手机编号规则:手机支架编号+每层编号+手机位编号+信源系统中手机号ID,作为每个手机的编号;
给手机座和手机编号后,在每个支架、支架的每一层、每个手机位置贴上相应的标签;然后,按照规则生成手机号码,贴在手机背面。最终效果类似于下图4-2
图 4-2
4.5.3 移动群控管理移动群系统。内部是一套软件,外部是一台电脑和多部手机。逻辑是模拟手机的手动操作。用手机自带流量不容易。被禁止了。方便账户维护、解封等操作。群控软件效果如图4-3、4-4:
图 4-3
图 4-4
手机群控软件(Total Control)引用如下:
项目 官方价格
多设备控制 (10) ¥260/年
多设备控制 (20) ¥540/年
多设备控制 (30) ¥800/年
多设备控制 (50) (40) ¥1400/年 (¥1600/年)
多设备控制 (70) (60) ¥2800/年 (¥3200/年)
多设备控制 (100) ¥4460/年 (¥5000/年)
表 4-1
Total Control 具有以下主要功能:
① 无需手机root;
② 只适用于Android 4.0以上;
③ 可将手机自定义分组,分组控制/执行各种任务;
④ 消息集中管理;
4.6 运维工具开发
4.6.1 自动聊天工具