微信公众号文章采集浅谈--搜狗APP近一天文章

  • 前言
  • 分析
  • 实现
  • 总结

前言

注: 本文主讲一个分析思路,仅用于技术交流分享,有兴趣可以一起交流 q:1095087360。

前段时间由于需要,采集微信公众号上指定关键词的微信文章,网上找了一些资料,也收益匪浅,基本上来源就只有两大块,一个是微信APP,一个是搜狗。不过微信客户端关键词搜索功能等于没有(量比较少),然后从搜狗入手,搜狗入手也比较简单,可以看下这个文章,利用搜狗搜索爬取微信公众号文章信息。
前辈的方案可以改良下不用自动化控制爬取,效率会高许多,实现也比较简单。
我试着实现,采集了数据,不过实时率比较低,采集的文章很多都是几天前的,或者几个月前的,看了下搜狗APP上的微信文章可以搜索到近一天的数据,于是乎有了今天的文章。

分析


直接上抓包工具:
获取到一个 v2.get.sg.com 的接口为数据接口:

可以发现数据获取接口的请求体和相应体都是加密的。
反编译jar寻找到该加密方法:
通过接口搜索很容易就发现这个请求的加密解密都在同一方法中出现了,先加密然后请求数据,拿到数据后进行解密。

public static synchronized String mxxxx(String str, String str2, String str3, int i)    搜索到的方法
ScEncryptWall.encrypt(str, str2, str3)                加密请求
请求数据:body()
ScEncryptWall.decrypt(body())       解密

截图我就不(不)发(敢)了(发)。

用frida hook验证一下找到的方法:
hook encrypt()方法

   你会发现 str= "http://app.weixin.s*g***.com/api/searchapp"str2="type=2&ie=utf8&page=1&query="+查找的关键词+"&select_count=20&usip=&tsn=1"str3=""

得到加密参数k、v、u、r、g、p 参数
hook decrypt()方法
得到
其中就有我们想要的数据标题,链接了。
接下来就是逆向 加密解密方法了
通过查找 发现是native方法 调用 SCoreTools的so,.so文件在 lib\armeabi 目录下,接下来就是需要分析so,上神器ida

找到加密解密入口,接下来就是漫长的摸索过程,基本上就是分析C语言的一个运算过程了,大家可以百度一下相关文档,这里主讲思路。

最终到到一段这样的代码,基本上路线就通了,解密也是如此。

实现

算法出来了就是实现了:

获取到数据解析出链接后发现还是个跳转地址,简单分析下,就能拿到微信端的链接了,然后我也按照 搜狗微信公众号爬虫(日采集过百万) ,该文思路,实现了当日数据百万采集。

总结

文章主要是讲了一个分析思路,可能会有些粗糙,不过整个过程自己去实现还是能学到不少东西的。

微信公众号文章采集浅谈--搜狗APP近一天文章相关推荐

  1. 微信公众号H5页面跳转至app的某个页面,如果手机内没有app,则进入下载页面

    安卓实现方法: $(function(){           var Id = getParameter("goodsid"); //此操作会调起app并阻止接下来的js执行,进 ...

  2. 【微信采集助手】Python Tkinter 微信公众号文章批量采集工具

    现如今大部分优质内容都是闭环的,都在移动端,app端,或者百度都无法搜录到,比如微信公众号文章内容,而且这些地方还存在着比较高质量的内容,大部分人都有着这方面的采集需求! 其实前面本渣渣已经写过了一篇 ...

  3. 知乎ajax采集,胖鼠采集WordPress插件教程-WP自动采集和发布简书,微信公众号,知乎等任意网站...

    WordPress本来是一个博客,但是由于功能强大.用户众多,发展到现在Wordpress已经成为了一个CMS平台了,甚至有一些企业建站都用了Wordpress,真的是无处不在.Wordpress用于 ...

  4. 纯代码实现WordPress文章部分内容关注微信公众号后可见

    前言 最新有小伙伴问我一个问题,像辉哥博客有些文章是用的关注微信公众号并回复指定内容后获取验证码才能查看文章的部分内容是怎么实现的,今天辉哥就教你纯代码实现WordPress文章部分内容关注微信公众号 ...

  5. Python爬虫,微信公众号话题标签内容采集打印PDF输出

    微信公众号内容采集,比较怪异,其参数,post参数需要话费时间去搞定,这里采集的是话题标签的内容,同时应用了pdfkit打印输出内容. 这里实现应用了两个版本,第一个是直接网页访问,其真实地址即pos ...

  6. java对接微信公众号发布文章

    前言 在工作中遇到一个需求,需要向微信公众号发布文章,通过查询资料以及查阅微信的开发文档,最终实现. 微信开发文档:https://developers.weixin.qq.com/doc/offia ...

  7. 如何将 Markdown 格式文章快速发布到微信公众号

    如果你和我一样,平时习惯使用 Markdown 写作,当我们想把文章发布到微信公众号或知乎等平台时,就会发现挺麻烦的,尤其是排版方面,因为它们并不支持 Markdown 格式. 那有没有简单高效的办法 ...

  8. jsoup微信公众号文章标题、发布时间、作者、封面图片的爬取

    在做项目时候遇到一个需求,后台添加微信公众号上面的文章时候能自动获取到这篇文章的标题.发布时间.封面图片,这样就不用手动去添加太多的信息,只需要一个url就够了.所以用jsoup做了一个简单的爬虫,根 ...

  9. 使用Huginn批量订阅微信公众号

    今天给大家安利一个神器--Huginn,这是一个开源项目:英文官网地址,中文社区地址. ! 我要介绍的是其中的一个功能:抓取网页信息并输出为RSS订阅源.之所以使用这个工具,是因为在手机上阅读微信公众 ...

  10. 用户画像在科技期刊微信公众号精准推送中的应用

    闵甜1,2), 孙涛3),赖富饶1,2), 侯湘4) 1)华南理工大学<现代食品科技>编辑部,广东省广州市天河区五山路381号 510640 2)华南理工大学食品科学与工程学院,广东省广州 ...

最新文章

  1. 今日最佳:导师给你指了一个研究方向后...
  2. 苹果无线耳机使用方法_安卓党可以使用 AirPods 吗?实测结果.....
  3. suse docker 安装mysql_Docker(三):Docker安装MySQL
  4. SpringBoot+gradle+idea实现热部署和热加载
  5. h5 video 手机上无法显示_怎样把手机上的导航显示在汽车屏幕上
  6. C# Socket初探
  7. python达梦数据库_python 操作达 梦数据库
  8. poj3061 尺取法 挑战程序设计竞赛
  9. 配置文件keepalived.conf详解
  10. (45)css面试题集锦二
  11. 引入react文件报错_react.js引入router文件后报错
  12. RabbitMQ 学习开发笔记
  13. Java继承(extends)的实现和 instanceof 运算符的使用
  14. html半透明遮罩,如何制作网页半透明遮罩效果
  15. 大厂纷纷押宝“元宇宙”“鸡肋”智能眼镜难成密钥
  16. 播布客小布老师所有视频
  17. Unity UI 动画 工具
  18. [数据压缩作业1]利用Audacity分析浊音、清音、爆破音|RGB文件三通道分量的熵计算
  19. 它又来了!FastJson又被发现漏洞,autotype的安全控制开关限制可以被绕过...你方了没?...
  20. 学会拒绝摔倒“哭泣”,拒绝接受“溺爱”

热门文章

  1. emmagee的基本使用
  2. 【JavaWeb学习】14综合案例
  3. PPT转图片/PDF-实用干货
  4. HTML实现倒计时插件
  5. 郑州学python哪个机构好_郑太高铁线路图_郑太高铁站点_【高铁网】_郑太高铁时刻表_郑太高铁通车时间...
  6. 01背包问题—dp算法(动态规划)—java代码
  7. Vue开发者工具安装祥析
  8. linux64位系统 addr2line使用
  9. 2020 全国的邮政编码 json
  10. 三维扫描3D打印在创客教育中的实际应用