最近一直在想着抓一些网盘数据,进行资料归拢,可是当我真正开始的时候.. 还是遇到了反爬,当然我本身就有心理预期,这是肯定会碰到的,只是没想到会在代理IP上耗费这么久,之前的时候也处理过代理IP ,可是由于一知半解,导致很多配置都不理解,debug全靠猜...这次还是猜的。
使用的是 nodejs
+ axios
访问 https 网站,在抓取了几百条后,就被限制IP 了,当然是找一些免费代理来进行替换,这里先罗列几个自己常用的代理。
智游代理:http://www.zhiyoudaili.com/getapi.html , 这个每天都有10个免费的IP ,用量不多可以先用这个测试下,或者购买一天的。
免费代理 : https://www.freeproxy.world/
每秒5次免费查ip : http://freeapi.ipip.net/154.113.19.30
中间还找了 极光/芝麻,可是当我注册后需要实名,上传身份证正反面后,还需要扫码支付宝...我就放弃了。
先说这个问题,很明显,证书过期,在 代理agent中配置不校验证书即可。
return tunnel.httpsOverHttp({
rejectUnauthorized: false,//注意该配置,其实我没有在官网上找到这个配置..纯属瞎猜,反正我是不带参数就报错,带上就正常。
proxy: {
host: '61.160.210.234',
port : 808
}
})
const tunnel = require('tunnel');
const axios = require('axios');
const url = `https://xxx.com/xx/xx`;
let baseHeader = {};//准备好header
let proxy = tunnel.httpsOverHttp({
rejectUnauthorized: false,
proxy : {
host : '',port : ''
}
})
;(async function(){
let html = await axios.get(url, { timeout : 5000, headers: baseHeader,proxy : false,httpsAgent : proxy }).then(rs => rs.data).catch(err => {})
console.log(html);
})();
各种换库 搞了小半天.. 主要还是用axios习惯了。
转载请注明出处: https://chrunlee.cn/article/axios-certificate-has-expired.html