2017-06-28 136 views
0

我只是想知道如何減少這兩個Web抓取器的冗餘,因爲我不希望它請求網站兩次。我是新手,對語法不太熟悉。這裏的代碼片段:使用NodeJS和Cheerio減少冗餘

  request(website_url, function(err, resp, body) { 
      var $ = cheerio.load(body); 
      $('.title').each(function(){ 
       var title = $(this).children('h2').children('span').text(); 
       titles.push(title); 
      }); 

     request(website_url, function(err, resp, body) { 
      var $ = cheerio.load(body); 
      $('.post-box-excerpt').each(function(){ 
       var caption = $(this).children('p').text(); 
       captions.push(caption); 
      }); 

回答

0

最簡單的方法就是使用使一個單一調用API:

request(website_url, function (err, resp, body) { 
    var $ = cheerio.load(body); 

    $('.title').each(function() { 
    var title = $(this).children('h2').children('span').text(); 
    titles.push(title); 
    }); 

    $('.post-box-excerpt').each(function() { 
    var caption = $(this).children('p').text(); 
    captions.push(caption); 
    }); 
});