js读取手机唯一号_微信公众号文章批量采集

757b7fc2e0fc882c2fca0c9e812db2b2.png

目前市面上讲解爬取微信公众号文章的方法有很多,但很多方法都是不可用的,也抓取不到阅读数,和点赞数,而且教程繁杂,都是抄来抄去,本方案是经过多次实操,总结出来的可执行的方案,而且简单可操作,本教程只讲干货。

首先先要安装好所需要的环境 1.node.js + anyproxy 安装

1.1node.js安装

下载Node.js,打开官网下载链接:https://nodejs.org/en/download/ 我这里下载的是node-v6.9.2-x64.msi,如下图:

468d24084eb06cfbe7ad9247c83ad960.png

下载完成后,双击“node-v6.9.2-x64.msi”,开始安装Node.js,一直点next即可。主要注意的是Node.js默认安装目录为 "C:Program Filesnodejs" , 你可以点击change 修改目录,一般我都安装在"D:Program Filesnodejs"下。

安装完成后,检测PATH环境变量是否配置了Node.js。点击开始=》运行=》输入"cmd" => 输入命令"path",看输出 结果中是否有了node的安装目录。

最后测试一下node是否安装成功。

点击开始=》运行=》输入"cmd" => 输入命令"node -v" 和 “npm -v”,显示如图结果,表示安装成功。

f7d5e77177b82ff39ef23ff600b31607.png

1.2 anyproxy安装

点击开始=》运行=》输入"cmd" => 输入命令"npm install -g anyproxy"安装完成后,输入命令"anyproxy -i" 启动anyproxy。

打开浏览器输入localhost:8002,打开anyproxy界面。

7d73561e29a7d0efda2b134ed9a5e154.png

2.手机模拟器安装

模拟器我试了几种,觉得MuMu模拟器算是比较好用的,网易出品,算是有一定质量保障,下载地址:http://mumu.163.com/,大家去官网下载安装即可。

3.网络配置、及证书安装

首先查看本地IP是多少,点击开始=》运行=》输入"cmd" => 输入命令"ipconfig",查看自己的IP是多少,如图

43f0ab102b75248677a7f548c540af4c.png

然后打开模拟器上的浏览器,输入你查到的IP:8002。如图:

7b0bddeca1d6732f9b127a6d93c57ea0.png

点击ROOTCA,安装证书

a56d9c977e27322795e9cdc7ba1b8f18.png

模拟器上,点击设置下,WLAN,配置代理

dcb4d11c9f0d142b7a2c3e1cdbfe2d72.png

ab030ba490ff6330b4c500da65aaeeb2.png

4.模拟器上安装微信

通过MuMu模拟器上的应用中心,安装微信。

62b8cb5e43e05dcbbf459aa10f8b8572.png

电脑端,打开浏览器,输入localhost:8002,打开模拟器端微信,访问任意公众号,查看电脑端浏览器,就可以看到微信请求的数据包了。

环境准备完之后,下面我们就开始分析接口与相关重要的参数。

首先我们要说一下几个重要的参数

  • __biz : 每一个公众号一个,唯一的id
  • mid : 是图文消息id,也就是每篇文章的唯一id
  • idx : 是发布的第几条消息,1就代表是头条位置消息
  • sn : 是一个随机加密串,对于一篇图文消息是唯一的
  • wap_sid2 : cookie中,公众号文章权限,一个公众号一个,四小时一变
  • appmsg_token : 是动态的,每3.5个小时一变

下面说一下几个重要的接口

抓取公众号文章,首先需要一个入口,很多文章都是从旧文章列表入口开始。获取第一页的html,取第 16 script标签中 msgList变量的值,得到第一页的内容,然后再通过接口请求json数据获取其它页面的数据。再加上获取点赞、在看数接口,整个过程需要请求三个接口。

其实爬取整个流程,是可以优化的,我们可以把第一个、第二个接口合并,只需要两个接口,就可以完成公众号文章列表、点赞数在看数的抓取。

获取列表数据接口,通过修改offset控制页数,其中count不能大于10,也就是说一页中最多也就是十条。

"/mp/profile_ext?action=getmsg&__biz="+__biz+"&f=json&offset="+offset+"&count=10&appmsg_token="+appmsg_token+"";

第二个接口,获取点赞数,在看数接口,注意这是个POST请求这个接口中,

"/mp/getappmsgext?f=json&__biz="+__biz+"&appmsg_token="+appmsg_token+"&fasttmplajax=1";

需要上传request body

"mid="+mid+"&sn="+sn+"&idx="+idx+"&is_only_read=1"

通过这两个接口就可以获取任意公众号所有文章,以及其点赞数在看数等,这里要注意的就是列表请求最好是间隔2秒,点赞数接口间隔2秒,否则微信会封号,无法访问公众号,其它功能不受影响,24小时自动解封。

微信公众号文章批量采集,到此就讲完了。有问题可以留言讨论~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值