猫史档案馆


网络爬虫nodejs爬虫代理配置

用户:LaicalLaical查看:0 回复:0 评论:0 创建时间:2020-09-01T17:30:30


随着互联网的发展进步,现在互联网上也有许多网络爬虫。网络爬虫通过自己爬虫程序向目标网站采集相关数据信息。当然互联网的网站会有反爬策略。比如某电商网站就会限制一个用户IP的访问频率,从而出现验证码。就算验证码通过了,也不会采集到数据,这也就是所谓的反爬虫策略。所以这种情况下,越来越多的网络爬虫会利用代理IP去进行采集。目标网站限制了一个IP,可以换一个代理IP继续进行业务采集。当然每个人的爬虫程序不同,使用爬虫代理用法也不同。

互联网也有常见的爬虫代理使用方式:

1、传统的API提取的优质代理(传统API提取式代理,通过URL定时获取代理IP信息,需验证IP的可用性、更换代理设置,同时需要设计多线程异步IO,实现代理IP并发处理,不仅繁琐,而且影响效率。)

2、自动转发的爬虫代理(自动转发的爬虫代理IP”通过固定云代理服务地址,建立专线网络链接,代理平台自动实现毫秒级代理IP切换,保证了网络稳定性和速度,避免爬虫客户在代理IP策略优化上投入精力。)

以上是市面上常见的使用爬虫代理方式,针对每个爬虫应用环境和接口不同,需要选择适合自己程序的代理使用方式。

很多爬虫都会选择通过代理商提供的API链接获取代理IP,放在自己的搭建的IP池内进行管理,从而发出请求进行数据采集。当然也有很多爬虫不愿意自己做IP池管理,觉得那种方式使用麻烦。想直接利用代理IP去发出请求获取数据。这时候就需要用自动转发的爬虫代理,代理供应商就会提供一个代理服务器域名信息和用户名、密码。就是比传统的API代理,多了一个认证信息。

在nodejs爬虫中,可以用axios中的proxyhost和proxyport来设置代理服务器,proxyUser和proxyPass设置用户名和密码进行认证。

以下是关于nodejs爬虫使用axios如何配置爬虫代理dmeo:

const axios = require('axios'); 
// 要访问的目标页面 const targetUrl = "http://httpbin.org/ip"; 
// 代理服务器(产品官网 www.16yun.cn) const proxyHost = "t.16yun.cn"; const proxyPort = 31111; 
// 代理验证信息 const proxyUser = "username"; const proxyPass = "password"; 
var proxy = {  host: proxyHost,  port: proxyPort,  auth: {  username: proxyUser,  password: proxyPass  } }; 

axios.get(targetUrl,{proxy:proxy})  .then(function (response) {  // handle success  console.log(response.data);  })  .catch(function (error) {  // handle error  console.log(error);  })  .finally(function () {  // always executed  }); 

每个爬虫的程序使用的语言框架都不同,以上是比较偏门的爬虫语言框架配置爬虫代理的demo。其他语言配置爬虫代理的demo可以参考以上demo分析百度。


回复

上一页1 页 / 共 0下一页