如何为React应用程序创建数据库和调度scraper



关于我最近开发的一个React应用程序,我有一个问题。它基本上是一个登陆页面,使用React前端和Node+Express后端,从各种页面中抓取数据(抓取是用Python开发的)。

现在,React应用程序本身托管在Heroku中,并且scraper的执行正在工作,但并不理想。

我想做的是建立一个合适的流程

  • 创建数据库
  • 调度刮刀
  • 收集数据库中的数据
  • 在需要时从React应用程序中的数据库请求数据

我读过不同的可能性,如Firebase,也有不同的AWS选项,如EC2, Lambda, S3等。我有点迷失在这一切之中,所以也许你可以帮助我,给我一些建议!

提前感谢!

如果我正确理解了你的问题,那么抓取本身并不一定要与你的登陆页面/React应用程序相关联。让我们来看看一个可能的解决方案。

SQL数据库

你可以在这里使用任何SQL数据库,真的。为将要抓取的每个源创建一个包含相关列的表。我个人喜欢AWS中的RDS Postgres。抓取雅虎财经?嗯,有一张叫"雅虎"的桌子;以及"ticker"、"open"、"close"、"date"等列

调度刮刀

我假设您已经使用Python处理了从源代码中实际抓取/提取信息的工作。您可以使用cronjob包来安排刮削器每小时/每天/每周等运行。将刮削器连接到SQL数据库,以便以您需要的任何方式访问它并存储数据。抓取器可以在AWS的EC2中运行。您需要为实例做一些设置。您还可以将刮刀连接到诸如Sentry之类的应用程序,以轻松监控刮刀的进度和错误。

反应应用

将数据库连接到Node后端。对后端使用一个简单的API调用来访问数据并使用它。您可以使用sequelize ORM访问Postgres数据库。

总之,我相信这个想法是相对简单的,你只需要选择工具(我给出了一些建议)并开始实现它们!

相关内容

最新更新