微信文章自动采集软件( 文件夹生成rootCA.crt证书与对应的密钥.js )

优采云 发布时间: 2021-10-24 23:05

  微信文章自动采集软件(

文件夹生成rootCA.crt证书与对应的密钥.js

)

  anyproxy --root

  此时文件夹中会生成rootCA.crt证书和对应的key rootCA.key,根据提示打开对应文件夹,双击安装rootCA.crt证书。

  手机安装

  在电脑命令行或​​终端输入anyproxy命令启动代理程序,然后在浏览器中输入网址:8002/qr_root,就会出现证书二维码。然后手机扫描证书二维码,下载并按照提示完成安装。

  参考 URL 1:%E7%9B%B8%E5%85%B3%E6%95%99%E7%A8%8B

  参考 URL 2:#Configuration 帮助

  安装mysql模块部分

  默认情况下,您的计算机上已经安装了 mysql 数据库。现在那个节点连接到mysql数据库,还需要安装一个程序包来实现:

  npm install -g mysql

  节目地址

  windows程序AnyProxy的默认安装目录为:C:\Users\您的用户名\AppData\Roaming\npm\node_modules\anyproxy

  Mac安装目录为:/usr/local/lib/node_modules/anyproxy

  本程序是对AnyProxy中lib文件中相应的代码部分进行修改和增加。

  我的代码部分

  下面我发给你5个文件,你只需要覆盖lib目录下的对应文件即可。(建议先备份)

  ./anyproxy

./lib

myRule.js

rule_default.js

1.png

requestHandler.js

httpsServerMgr.js

  运行程序部分

  anyproxy -i

  在终端输入以上命令运行。参数 -i 表示开启 HTTPS。

  可以操作myRule.js文件,选择对应的功能。修改文件后,需要重启程序。

  运行后,确保电脑和手机在同一个WiFi环境下,然后按照提示设置手机WiFi的代理,输入代理URL和端口(终端会提示连接地址运行后)。

  然后选择查看公众号文章自动抓取数据入库。

  myRule.js 代码的主要部分

  三个主要功能:

  getProfile - 对历史页的操作,获取文章其他数据;插入自动翻页代码

getReadAndLikeNum - 获取文章点赞、阅读、打赏等数据

insertJsForRefresh - 对文章页的操作,主要是插入自动翻页代码

  代码原则

  这个程序是事件驱动的。就是说开头一定要给出触发事件,比如打开历史详情页或者打开某篇文章文章。

  微信打开历史详情页后会触发一个事件。运行getProfile函数跳转到下一个历史详情页面,然后触发历史详情页面的打开。

  同理,在微信打开文章页面会触发一个事件运行insertJsForRefresh函数。此功能将在网页中插入脚本以自动翻页。当翻页时,会再次触发该事件,并继续运行。同时,在打开文章页面时,微信会请求另外一个链接,然后会自动触发getReadAndLikeNum函数。

  历史详情页插入js代码有4种方式,代码中已注释。

  js注入详解

  文章 自动翻页的原理是在网页的头部插入类似如下形式的代码,表示每5秒跳转到下一个文章页面。

  将 Js 脚本示例注入历史详情页面。在微信客户端返回的数据中插入如下脚本,使网页自动下拉到最低端,然后跳转到最早的文章之后的下一个历史消息详情页:

  

var end = document.createElement("p");

document.body.appendChild(end);

(function scrollDown(){

// 下拉至页面最低端后,微信会自动向服务器请求数据

end.scrollIntoView();

var loadMore = document.getElementsByClassName("loadmore with_line")[0];

// 判断是否到达最早一篇文章

if (!loadMore.style.display) {

document.body.scrollIntoView();

// 插入meta,使10秒后自动翻页

var meta = document.createElement("meta");

meta.httpEquiv = "refresh";meta.content = "10;url=' + nextProLink + '";

document.head.appendChild(meta);

} else {

// 每个随机时间段下拉网页

setTimeout(scrollDown,Math.floor(Math.random()*2000+1000));

}

})();

  我在代码部分写了4个类似的脚本来实现不同情况下的特定功能。您可以在运行时做出选择。

  数据库部分

  myRule.js 文件的开头会有一个数据库连接,应该相应地修改为你自己的数据库配置。

  // 创建数据库连接,需根据自己数据库账号密码修改

var connection = mysql.createConnection({

host: 'localhost',

user: 'root',

password: '0000',

database: 'phone_weixin'

});

  数据库中有4张表,分别对应文章信息、历史新闻抓取记录、公众号信息。

  msg

history

mpaccout

content

  表的结构也在您的文件中。只需在 mysql 数据库中创建一个新的。

  数据库字段说明

  msg.sql

id - 文章id,自动递增

msg_title - 文章标题

msg_link - 文章永久链接

publish_time - 文章发布时间,13位时间戳形式

modi_time - 数据抓取时间,13位时间戳形式

read_num - 阅读量

like_num - 点赞量

reward_total_count - 安卓手机赞赏量

msg_idx - 文章发布位置,首条、二条等等

msg_biz - 公众号唯一标识,重要

msg_source_url - 文章阅读原文链接,若无则空

msg_cover - 文章封面图片链接

msg_digest - 文章摘要

is_fail - 文章是否删除,如果删除改为1,下次就不在抓取

copyright_stat - 文章是否原创标识 11为原创 100为无原创 101为转发

author - 文章作者

mpaccount.sql

id - 公众号id,自动递增

biz - 公众号唯一标识

nickname - 公众号名称

metavalue - 公众号id

history.sql

id - 公众号id,自动递增

biz - 公众号唯一标识

url - 上次抓取的链接

moditime - 上次抓取时间

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线