微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

网络抓取期间Heroku + Node +操纵符超时

如何解决网络抓取期间Heroku + Node +操纵符超时

在网站开发过程中,我使用puppeteer + NodeJs + Heroku创建了一个webscraper应用程序,该应用程序从另一个网站页面下载数据。
在主页上,用户将URL放入输入框,然后使用按钮提交 在异步功能中的发布请求中,脚本会在页面中运行,当页面上未命中时,将使用结果呈现新页面

const webAddress= req.body.webaddress;
  (async () => {

    // Extract 
    const extractingatlanok = async url => {

      // Scrape the data we want
      const page = await browser.newPage();
      await page.setRequestInterception(true);
      
      page.on('request',(request) => {...
      });

      await page.goto(url);
      const ingatlanokOnPage = await page.evaluate(() =>....
      );
      await page.close();

      // Recursively scrape the next page
      if (ingatlanokOnPage.length < 1) {
        // Terminate if no ingatlanok exist
        return ingatlanokOnPage
      } else {...
        // Go fetch the next page ?page=X+1
      }
    };

    const browser = await puppeteer.launch({...    });

    const ingatlanok = await extractingatlanok(firstUrl);

    // Todo: Update database 
    res.render("list",{...
    });
    await browser.close();
  })();

当网站上的点击数过高时,我遇到了Heroku超时h12错误,并且我发现它遇到了30秒超时限制
在heroku上,我找到了将是一项后台任务的解决方案,但是我不知道如何采用它。任何帮助如何启动它将不胜感激。应该将哪一部分移到工作器上,以及如何从那里使用它们

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。