拾捌-NodeJS简单代理池(转)

1.缘起

原本的架构介绍如下:
拾肆-NodeJS简单代理池(起)

然后今天为了做其他需要把这个完善一下。

2.配置文件

原本就没用 ini配置文件存储方式,所以就用一个 JSON 文件存储配置,其中代码如下:

/**
 *读取配置文件并初始化。
 */
function funInit() {
    //读取配置文件
    let strConfig = fs.readFileSync(path.join(__dirname, '/cfg.json'), { encoding: "utf-8" });
    //文本转为对象
    let objConfig = JSON.parse(strConfig);
    //应用各种配置
    let arrSaveSet = objConfig.saveSet;
    let objWebCfg = objConfig.webCfg;
    objCTLIO = new cControllerIO(arrSaveSet);
    objCTSpy = new cControllerRequest(objWebCfg);
    objTimeConfig = objConfig.timeConfig;
    console.log(' 完成初始化 ');
    funGoPro();
};

JSON 有一个坏处,就是无法注释,只能增加多一个字段作为注释。

//原本为:
"saveSet": [{
  "libPath": "/IOEng/cIOMongodb.js",
  "dbName": "dbProxy",
  "host": "27017",
  "user": "Berry",
  "pw": "Berry",
  "col": "tbProxy"
}, {
  "libPath": "/IOEng //cIOJSON.js",
  "file": "../../proxy.json"
}]

//新增一字段,把内容写到该内容里面并作为字符改为:
"saveSet": [{
  "libPath": "/IOEng/cIOMongodb.js",
  "dbName": "dbProxy",
  "host": "27017",
  "user": "Berry",
  "pw": "Berry",
  "col": "tbProxy"
}],
"Comment": {
  "ForsaveSet": ", {'libPath': '/IOEng //cIOJSON.js','file': '../../proxy.json'}"
}

3.保存时加入时间

原本保存的内容只有两个内容:

ProxyContent:[
  {
    u:"119.101.118.126",
    p:"9999"
  }
]

现在需要增加保存时间为:

ProxyContent:[
  {
    u:"119.101.118.126",
    p:"9999",
    ft:1580267620322
  }
]

4.修改检测数据库是否存在该代理

因为前期存入数据库只存入代理地址代理端口,故在新增字段之后是会检测不到存在的,所以只能修改为查找数据库时只查找地址以及端口,以针对 MongoDB驱动为例,修改一下:

//修改前
checkProxyExist(objProxy = {}, funCB) {
    ....
      db.collection(that.dbSet.col).findOne(objProxy, {}, function(err, item) {
    ....
    };

//修改后
checkProxyExist(objProxy = {}, funCB) {
    ....
      db.collection(that.dbSet.col).findOne({ u: objProxy.u, p: objProxy.p }, {}, function(err, item) {
    ....
    };

5.修改循环流程

原本的流程图为:
原始的流程图

更改后的流程图:
好像很复杂

6.修改这个算是完成了吧

测试好像还需要一段时间,就先整理一下今天要做的事情:

  • 把前期做的代理池修改一下
  • 在腾讯云服务器上配置PM2
  • 找寻 Python 爬虫相关包及方法
  • 思考关键字舆情该怎么保存
  • 吃个好早餐
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值