文章采集调用 xposed商店市场

优采云 发布时间: 2020-08-26 13:22

  文章采集调用 xposed商店市场

  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.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插口,接口对数据包进行解析,把文章URL数据储存到Redis集群中。

  根据八友陌陌插口每日的数据量剖析,微信全量采集时须要处理的比较活跃的公众号在40~50万个,每天文章量在80~120万左右。为了易于管理,计划在Redis集群中,每天生成一个hash类型的缓存表,表名格式为:WeChat_yyyyMMdd,其中数据格式为key=URL,value=当前添加时间。如下图3-4所示

  

  图 3-4

  3.4.4 采集历史记录储存

  微信文章通过分布式形式进行,每个采集脚本恳求Redis插口服务,获取一定量的文章URL,然后采集正文,推送到kafka中。同时,请求过的URL信息,Redis插口会把信息从WeChat_yyyyMMdd缓存中删掉,并保存到采集历史缓存中。hash类型的缓存表表名格式为:WeChat_History_yyyyMMdd,如下图3-2所示。其中key=URL,value=请求时的当前系统时间。如下图3-5所示

  

  图 3-5

  3.5 采集监控

  整个采集流程中须要监控的节点主要为:XPosed插件;Redis插口服务接收和解析、入库;正文采集(源码获取、解析,kafka推送)。具体处理如下:

  3.5.1 XPosed监控

  主要分为两部份,一是XPosed插件自身的监控,防止长时间运行造成关机等;二是XPosed数据包发送。

  XPosed插件:自身缺陷机长时间运行,导致的关机等现象,目前仍未找到好的处理方法,只能通过重启插件或手机;

  XPosed数据包:数据包异常主要彰显在调用Redis集群插口服务时,需要在插口服务异常的情况下,把获取到的数据推送到数据库或讲到文件里,当插口服务正常时重新发送。

  3.5.2 Redis插口服务监控

  主要监控XPosed数据包解析和保存另两个步骤,在出现异常时把数据讲到本地文件,待正常时重新进行二次处理。

  3.5.3 正文采集监控

  正文采集监控点主要包括:已采集URL记录、正文源码下载、正文解析,以及信息推送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 采集运维管理

  微信公众号数据的采集运维工作,主要彰显在微信号的注册、养号、解封等工作上,至于陌陌文章的采集,基于现有的服务器,使用分布式可以较容易的进行处理。在微信号前期注册和养号期间,计划分配到数据管理中心各人员,作为一个KPI加分指标。由各人员在屋内或则上下班路上,进行微信号注册、养号(发朋友圈、点赞、聊天)等。

  4.1 微信注册

  由于微信号的监管逐渐加大,新注册的微信号被封的机率较大,所以微信号在注册时须要找寻一定的规则,具体注意事项如下:

  

① 注册请用官微,不要用那些多开软件注册

② 使用4G网络,千万不要用wifi,不要开GPS。同一个Wifi或GPS多个微信号注册,相当容易被封号的。

③ 每个手机必须提前存3-5个手机号进去,注册成功的时候,可以直接加上微信好友

④ 选择不同位置注册,可使用不同出行方式(公交、地铁、步行),每次注册的距离大于1.5km,每次注册间隔时间大于10分钟,最好分开时间段注册,尽量一批号不要是同一天,最好是分散到 3-5 天注册完成。

⑤ 注册时如果5分钟之内收不到验证码,先暂停该号码注册,不要频繁发送验证码

⑥ 随意关注几个公众号(搜索微信安全中心、京东、爱奇艺搞笑等公众账号)

⑦ 注册后一定先自己任意使用微信,之后注册其他号完成后也要使用一下之前注册的微信

⑧ 注册之后不能将手机关闭

⑨ 新微信号注册,密码不要一样。建议采用:相同字符+手机号的形式,也比较容易记。

⑩ *敏*感*词*的地区一定不要填写,因为一点开就开始获取位置了,这个记录宁可不让微信知道。*敏*感*词*不要一次性全部填完,每天填一点,分批填写,可以增加活跃的权重。

⑪  设置头像,注意,头像图片必须每张都不一样,如果一定需要设置同样的头像,请通过制图软件修改图片的大小,亮度等,另存成不同的图片,这样对于微信系统来说,可以绕过一定的检测。

⑫ 名字最好多个号都不一样 。

  注意事项:

  现在有专门卖微信号,买回去之后就可以使用,不过为了安全起见,还是建议登陆一周,期间发一些朋友圈,或加一些陌陌,每天随意聊几句,这样可以减少异常机率

  4.3 公众号添加

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线