node . js爬虫框架node-crawler

  

节点。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的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

node . js爬虫框架node-crawler