节点。js爬虫框架node-crawler ?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
npm安装:
npm安装履带
新一个爬虫对象
var c=new履带({//在每个请求处理完毕后将调用此回调函数 回调函数:函数(错误、res完成){ 如果(错误){ console.log(错误); 其他}{ var=>美元;//美元默认为加油解析器//它是核心jQuery的精简实现,可以按照jQuery选择器语法快速提取DOM元素 console.log ($ (“title")。text ()); } (完成); } });
然后往履带队列里面不停的加网址就行了,
//将一个URL加入请求队列,并使用默认回调函数 c.queue (& # 39; http://www.amazon.com& # 39;);//将多个URL加入请求队列 c.queue ([& # 39; http://www.google.com/& # 39; & # 39; http://www.yahoo.com& # 39;]);
<>强控制并发速度强>
爬虫框架一般都是同时去爬多个页面,但是速度过快会触发目标网站的反爬虫机制,也同时影响别人网站的性能。
<>强控制最大的并发数量强>
var c=new履带({//最大并发数默认为10 maxConnections: 1、 回调函数:函数(错误、res完成){ 如果(错误){ console.log(错误); 其他}{ var=>美元; console.log ($ (“title")。text ()); } (完成); } });
<强>使用慢速模式强>
使用参数,rateLimit 启用慢速模式,两次请求之间会闲置,rateLimit 毫秒,而,maxConnections 将被强行修改为1 .
var c=new履带({//癿axConnections”将被强制修改为1 maxConnections: 10,//两次请求之间将闲置1000 ms rateLimit: 1000, 回调函数:函数(错误、res完成){ 如果(错误){ console.log(错误); 其他}{ var=>美元; console.log ($ (“title")。text ()); } (完成); } });
<强>下载图片等静态文件强>
var c=new履带({ 编码:空, jQuery:假的,//设置错误抑制警告消息。 回调函数:函数(呃,res,做){ 如果(err) { console.error (err.stack); 其他}{ fs.createWriteStream (res.options.filename) .write (res.body); } (完成); } }); c.queue ({ uri:“https://nodejs.org/static/images/logos/nodejs - 1920 x1200.png" 文件名:“nodejs - 1920 x1200.png" });
看完上述内容,你们掌握node . js爬虫框架node-crawler的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!