小编Glo*_*omy的帖子

如何使用Fetch API下载和保存文件?(Node.js)

我有一个可能很大的文件(100+ Mb)的url,如何使用访存将其保存在本地目录中?

我环顾四周,但是关于如何执行此操作似乎没有很多资源/教程。

谢谢!

javascript xmlhttprequest fetch node.js fetch-api

9
推荐指数
4
解决办法
6440
查看次数

如何使用 javascript 制作递归抓取器?

所以我正在制作一个用于学习目的的小爬虫,最终我应该得到网站上页面的树状结构。

我一直在绞尽脑汁试图让这些要求正确。这或多或少是我所拥有的:

var request = require('request');


function scanPage(url) {

  // request the page at given url:


  request.get(url, function(err, res, body) {

    var pageObject = {};

    /* [... Jquery mumbo-jumbo to

        1. Fill the page object with information and
        2. Get the links on that page and store them into arrayOfLinks 

    */

    var arrayOfLinks = ['url1', 'url2', 'url3'];

    for (var i = 0; i < arrayOfLinks.length; i++) {

      pageObj[arrayOfLinks[i]] = scanPage[arrayOfLinks[i]];

    }
  });

    return pageObj;
}
Run Code Online (Sandbox Code Playgroud)

我知道这段代码在很多层面上都是错误的,但它应该让您了解我正在尝试做什么。

我应该如何修改它才能使其正常工作?(如果可能的话,不使用承诺)

(您可以假设该网站具有树状结构,因此每个页面仅具有指向三个页面下方页面的链接,因此采用递归方法)

javascript asynchronous node.js web-scraping

5
推荐指数
1
解决办法
1927
查看次数

Javascript Promises:链接相同的承诺n次,然后做其他事情

我有一个promise-returns函数,可以执行一些异步操作,让我们调用它functionToRepeat().

我正在尝试编写该函数repeatFunction(amount),以便它将启动承诺,等待完成,再次启动它,等待完成,等等一定时间.这repeatFunction(amount)也应该是可以的,以便我可以在执行后链接其他东西.

这是我的尝试:

function functionToRepeat(){
  let action = new Promise(function(resolve,reject){
    setTimeout(function(){
      console.log("resolved!");
      resolve()}
    ,1000);
  })
  return action
}

function repeatFunction(amount) {
  if(amount==0){
    return Promise.resolve();
  }
  return functionToRepeat().then(function(){
    repeatFunction(amount-1);
  });
}

repeatFunction(5).then(function(){
 console.log("DONE!");
})
Run Code Online (Sandbox Code Playgroud)

这成功地链接了我的承诺(或者接缝,我在控制台中每秒得到一个"解决!").然而,在第一个承诺结束.then()后,我试图在我repeatFunction(5)发生之后链接,而不是在所有5个结束之后!

所以在我的控制台中,我得到:

解决!DONE!解决!解决!解决!解决!

我做错了什么,我应该改变什么?

javascript promise es6-promise

5
推荐指数
2
解决办法
3392
查看次数

NightmareJS:如何阻止加载资源?

我正在制作一个带有梦魇的小型刮刀,但加载所有外部资源需要很长时间并消耗大量带宽.

我怎样才能加载基本页面html(没有图像,CSS等)?

我在网上找不到任何相关信息,也许我在找错了地方.

node.js web-scraping nightmare

3
推荐指数
1
解决办法
1399
查看次数