在React/Node中运行最高效的刮网器



我正在React(MERN STACK(web应用程序中运行一个web scraper。我使用requestpromise(rp(和cheerio库来获取url/html。

每当用户转到X页面时,我都会在componentWillMount((中运行这个方法。它获取的数组大约有80-150个元素长,有4-5个对象。但每次用户进入X页面时运行它似乎不是很有效。那么,有更好的方法吗?有时,数组需要一段时间才能"加载"/从5秒到最多30-40秒。

我想知道是否有可能的一个选项是,每隔15分钟左右(对于整个服务器(运行一次fetch方法,并将其发布到我的MongoDB中,然后在用户进入X页面时进行检索。这有可能吗?就像一个没有任何人在页面上的外部方法?

或者,是否有任何脚本可以在桌面上运行,每15分钟运行一次,将数据推送到数据库?

最终使用Heroku Scheduler来设置cron作业,效果很好。

最新更新