node.js正则表达式获取网页中所有链接的代码实例

  实现代码

  

复制代码 代码如下:

  var http = require('http');

  //定义函数

  var getAHref = function(htmlstr){

  var reg = /<a.+?href=('|")?([^'"]+)('|")?(?:\s+|>)/gim;

  var arr = [];

  while(tem=reg.exec(htmlstr)){

  arr.push(tem[2]);

  }

  return arr;

  }

  var qHref = "http://xxx";//设置被查询的目标网址

  var req = http.get(qHref, function(res) {

  var pageData = "";

  res.setEncoding('utf8');

  res.on('error', function (errget) {

  //出错处理

  });

  res.on('data', function (chunk) {

  pageData += chunk;

  });

  res.on('end', function(){

  //console.dir(pageData);

  var content = pageData;//获取到网页内容

  var hrefs=getAHref(content);//获取链接

  });

  });