分享文章:微信公众号文章采集及临时链接转永久链接

优采云 发布时间: 2020-12-07 13:10

  微信官方帐户文章采集和指向永久链接的临时链接

  2017年10月12日23:03:37微信公众号文章采集和临时链接到永久链接

  

  一、让我们首先讨论整体解决方案

  1、使用搜狗执行官方帐户文章的采集,以这种方式获得的文章URL是带有时间戳的临时链接。

  

  2、通过Android*敏*感*词*+ Anyproxy代理捕获,在打开临时链接时分析微信客户端及其服务器请求的协议的内容,并获得永久链接。

  

  3、通过按钮向导模拟或Python脚本在微信帐户上发送临时链接内容。只有在Android模拟器上的微信帐户上发送了内容之后,Anyproxy代理才能获取相关的软件包内容。

  二、让我们讨论具体的解决方案,主要是第二点

  1、使用搜狗执行官方帐户文章的采集,以这种方式获得的文章URL是带有时间戳的临时链接。将其用作数据采集时,经常会出现“请输入验证码”。我尝试使用IP代理池,但没有找到可以避免或解决此问题的IP代理服务器。我处理此问题的方法是使用动态IP VPS服务。我不会详细介绍具体步骤,因为这不是本文章的重点。

  

  2、通过Android*敏*感*词*+ Anyproxy代理捕获,在打开临时链接时分析微信客户端及其服务器请求的协议的内容,并获得永久链接。我使用win10系统。

  1)一个微信客户端:下载一个Android模拟器并在该模拟器上安装一个WeChat应用。

  2)一个微信个人帐户:对于采集的内容,不仅需要一个微信客户端,而且还需要一个专用于发送临时链接的微信个人帐户。

  3)本地代理服务器系统:当前使用的方法是将临时链接和永久链接发送到我们自己的服务器,以通过Anyproxy代理服务器进行替换。具体安装方法将在后面详细说明。

  当前,我使用Anyproxy。该软件的功能是您可以获取https链接的内容。 2016年初,微信公众号和微信文章开始使用https链接。而且Anyproxy可以通过修改规则将请求发送到服务器。下面开始介绍安装和配置过程。

  1、安装NodeJS

  2、在命令行或终端上运行npm install -g anyproxy

  3、生成RootCA,https需要此证书:运行命令anyproxy --root

  4、启动anyproxy运行命令:win + R打开并运行,输入anyproxy -i;参数-i表示解析HTTPS;

  5、安装证书,在Android*敏*感*词*中安装证书:启动anyproxy,打开浏览器:8002 / fetchCrtFile,您可以获取rootCA.crt文件

  6、设置代理:Android*敏*感*词*的代理服务器地址是wifi链接的网关。将dhcp设置为static后,您可以看到网关地址。阅读后不要忘记将其设置为自动。代理服务器的默认端口为8001。

  

  检查是否成功的方法:在模拟器上打开微信,单击任何文章,然后您可以在终端中看到响应代码滚动。如果未出现,请检查手机的代理设置是否正确。我的以下屏幕截图是打开浏览器地址:8002,以查看anyproxy的Web界面。

  

  我在微信应用程序上打开了文章的临时链接。通过协议分析,我们可以知道永久链接被重定向到302的位置。

  4)修改Anyproxy文件rule_default.js以在捕获的数据包中获取协议内容。

  rule_default.js文件位于* \ node_modules \ anyproxy \ lib \ rule_default.js中,找到replaceServerResDataAsync:function(req,res,serverResData,callback)函数,修改该函数的内容,并劫持所需的内容。因为我只需要抢回以302返回的代码的内容,所以我只在statusCode == 302时回叫。

  

  找到replaceResponseHeader:function(req,res,header)函数并修改该函数的内容。获取永久链接,并调用我在服务器上编写的http接口。我的界面只有两个参数:临时链接和永久链接。永久链接是基于临时链接添加的。

  

  3、使用按钮向导模拟在微信应用程序上单击临时链接,或者您可以通过python脚本模拟它。我正在写这篇文章,完成后我将对其进行更新。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线