2017-05-31 151 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? 
     } 

}); 

回答