最近公司需要快速启动一个网站采集项目。本来打算从python入手的。考虑到需要环境和配置框架,我们就用JavaScript吧。Nodejs支持异步并发架构,可以快速采集数据。如果用python来异步实现,需要的工作量会很大,调试的时间也会很长。Nodejs爬虫工作时间相对较短,不仅简单易用,而且数据采集效率是python爬虫的数倍。为了规避某些网站的反爬虫策略,可以使用爬虫代理IP进行持续稳定的数据采集。下面是我的代码:constrequest=require("request");//要访问的目标页面consttargetUrl="http://httpbin.org/ip";//代理服务器(产品官网www.16yun.cn)constproxyHost="t.16yun.cn";constproxyPort="31111";//代理认证信息constproxyUser="用户名";constproxyPass="密码";constproxyUrl="http://"+proxyUser+":"+proxyPass+"@"+proxyHost+":"+proxyPort;constproxiedRequest=request.defaults({'proxy':proxyUrl});constoptions={url:targetUrl,headers:{}};proxiedRequest.get(options,function(err,res,body){console.log("得到响应:"+res.statusCode);}).on("error",function(err){console.log(err);});
