2017-05-31 152 views
0

我在nodejs中使用htmlparser2來解析HTML頁面。我解析一個頁面以獲取到其他頁面的鏈接。然後,我想解析這些鏈接(解析函數與第一個解析頁面上的解析函數不同)以獲取我需要的鏈接旁邊的其他信息。 我的問題是,我不知道如何解析多個頁面。如果我在數組中放入鏈接,然後遍歷它併爲每個頁面調用解析器,由於異步性質,它不起作用。即使我在for循環中調用了多個請求,它也不會解析所有的鏈接,而且我仍然遇到了將請求結果從實際請求中取出的問題。Htmlparser2解析獲取鏈接,然後解析這些鏈接(node.js)

request(link,function(error,response,body) 
{ 
     var obj = parsingData(body); //parsingData is my parsing function 


     for(var i = 0; i < obj.length; i++){ 
      var newLink = obj[i].link; 

      request(newLink,function(error,response,body) 
      { 
        var pObj = parsingPasma(body); 
        console.log(pObj); 
      } 

      }); 
     //how would I get pObj here, to update obj array + wait for the request to finish? 
     } 

}); 

回答