jq---采集数据

我们需要一些网页数据,需要进行采集,以下是简单的一个使用jquery的采集方法。

var ocustomer = [];
var opage = function(page){
   $.get('http://www.xxxx.com/customer/all?p='+page,function(res){
      var $doc = $(res);
      var $tableObj = $doc.find('#dynamic-table');
      var $tableTr = $tableObj.find('tr');
      var $trnum = $tableTr.size();
      for(var i=0;i<$trnum;++i){
         var $td = $tableTr.eq(i).find('td:first a');
         var $phone = $tableTr.eq(i).find('td:nth-child(4)').text();
         ocustomer.push({
            id: $td.data('id'),
            realname: $td.data('realname'),
            company: $td.data('company'),
            phone: $phone
         });
      }
      console.log(JSON.stringify(ocustomer));
   });
}
var num = 0;
var timer = setInterval(function(){
   num++;
   opage(num);
},2000);

处理完执行:

console.log(JSON.stringify(ocustomer));

即可。

优化有的方法:

var ocustomer = [];
var opage = function(page){
   $.get('http://www.xxxx.com/customer/all?p='+page,function(res){
      var $doc = $(res);
      $doc.find('#dynamic-table tr').each(function(){
         var $tda = $(this).find('td:first a');
         var $phone = $(this).find('td:nth-child(4)').text();
         ocustomer.push({
            id: $tda.data('id'),
            realname: $tda.data('realname'),
            company: $tda.data('company'),
            phone: $phone
         });
      });
      console.log(JSON.stringify(ocustomer));
   });
}
var num = 0;
var timer = setInterval(function(){
   num++;
   opage(num);
},2000);
console.log(JSON.stringify(ocustomer));

打完收工!

posted @ 2025-08-27 10:52  帅到要去报警  阅读(9)  评论(0)    收藏  举报