gpt4 book ai didi

node.js - Node.js 中同步获取 url?

转载 作者:太空宇宙 更新时间:2023-11-04 03:10:24 25 4
gpt4 key购买 nike

有没有办法从指定的url同步获取页面源?问题是我有一个很长的 url 列表(比如 1000 个)需要获取和解析,并且在回调中循环执行它非常痛苦,因为它同时启动所有 fetchUrl 函数,并根据回调中的代码解析它。

我希望能够:

  1. 获取 url1
  2. 解析 url1 源
  3. 将解析结果保存到硬盘
  4. 获取 url2
  5. 解析 url2 源
  6. 将解析结果保存到硬盘
  7. ..对所有列表重复。

目前我使用fetch包来获取url源并使用cheerio进行解析。

最佳答案

使用async.queuerequestcheerio这是使用async.queue解决问题的基本方法

var Concurrency = 100; // how many urls to process at parallel

var mainQ =async.queue(function(url,callback){
request(url,function(err,res,body){
// do something with cheerio.
// save to disk..
console.log('%s - completed!',url);
callback(); // end task
});
},Concurrency);

mainQ.push(/* big array of 1000 urls */);

mainQ.drain=function(){
console.log('Finished processing..');
};

关于node.js - Node.js 中同步获取 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22803453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com