手机版

善用anyproxy提高微信官方账号文章的收集效率

时间:2021-09-02 来源:互联网 编辑:宝哥软件园 浏览:

主要影响因素如下:

1.网络环境差;

2.手机或模拟器中的微信客户端崩溃;

3.其他一些网络传输错误;

因为我更关注采集系统的运行成本,包括硬件投入、计算能力投入和占用的人力。因此,必须提高运行的稳定性。因此,如果采集中断,必然会增加人工成本。因此,针对这一点,我对anyproxy做了一些高级的修改,用其他工具提高了运行效率。以下是具体的解决方案:

首先,代码升级

1)微信浏览器白屏

解决方法:修改文件requestHandler.js或与rule_default.js位于同一目录(MAC system/usr/local/lib/node _ modules/any proxy/lib/;win系统评论区用户cnbattle提供c: \用户\管理员\ appdata \漫游\ NPM \ node _ modules \ anyproxy \ lib)

在代码中,找到函数proxyreq.on ('error ',函数(e) {,并修改内容

//userres . end();//注释这一行out userres . end(' script settimeout(function(){ window . location . reload();},2000);/script ');//插入这一行,这样当错误发生时,它将返回一个刷新当前页面的JS;以便程序可以继续

2)替换所有图片,减轻浏览器负担

首先,我需要做一个非常小的图片。我做了一张1x1像素,png的透明图片;把它放在任何文件夹里。然后修改文件rule_default.js的代码:

在文件开头有许多变量的地方添加以下代码

var fs=require('fs '),img=fs . readfilesync('/Library/WebServer/Documents/space . png ');//代码的绝对路径被自己的替换。在下面的代码中找到should uselocalrresponse : function(req,reqbody) {function,并将代码插入函数:

if(/mmbiz\。qpic\。cn/I . test(req . URL)){ req . RePlaceLocalFile=true;返回真;} else { return false}继续在下面的代码中找到dealocalresponse函数(req,reqbody,callback) {function,并将代码插入函数:

if(req . RePlaceLocalFile){ callback(200,{ ' content-type ' : ' image/png ' },img);}这三个代码会将微信官方账号中的图片全部替换为本地图片,减少网络传输压力和浏览器占用的内存,有效提高运行效率;

3)禁止手机或模拟器访问一些会导致错误的无用网站

同样,在rule_default.js中找到代码replace request option : function(req,option) {function,并在函数内部插入代码:

var newOption=optionif(/Google | btrace/I . test(new option . headers . host)){//这里的规律性可以用你不想访问的URL特征字符串代替。这里的btrace是腾讯视频的一个域名,通过实践发现特别容易导致浏览器崩溃,所以在里面加了,继续加的话可以用|分段。new option . hostname=' 127 . 0 . 0 . 1 ';//这个ip也可以被其他newOption.port=' 80}返回newOption这篇文章在修改之前也有提到过,所以我在这里再详细介绍一下。它有许多用途。不同的手机和模拟器可能会访问一些无用的地址,这会降低设备的速度。该代码可能会阻止访问。

其次,使用pm2来管理任何代理进程

Pm2是一个具有负载平衡功能的Node应用程序的进程管理器。

当你想对所有服务器上的所有CPU使用你的独立代码,并确保进程始终是活动的,PM2是0秒过载的完美选择。非常适合IaaS架构,但不要用于Paas解决方案(PaaS解决方案后面会开发)。

主要特点:

内置负载平衡(使用节点群集群集模块)

后台操作

0秒关机过载,我的理解大致是指维护升级时不需要停机。

有Ubuntu和CentOS的启动脚本

停止不稳定的过程(避免无限循环)

控制台检测

提供HTTP应用编程接口

远程控制和实时接口应用编程接口(Nodejs模块,允许与PM2进程管理器交互)

经过测试的Nodejs v0.11 v0.10 v0.8,兼容CoffeeScript,基于Linux和MacOS。

首先安装pm2

Sudo npm install -g pm2在pm2环境中运行anyproxy

版权声明:善用anyproxy提高微信官方账号文章的收集效率是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。