【问题标题】:How to create database for React app and schedule scrapers如何为 React 应用程序创建数据库并安排爬虫
【发布时间】:2026-01-09 16:25:01
【问题描述】:

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

目前,React 应用程序本身托管在 Heroku 中,并且抓取工具的执行工作正常,但并不理想。

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

  • 创建数据库
  • 调度爬虫
  • 收集数据库中的数据
  • 在需要时从 React 应用中的数据库请求数据

我已经了解了不同的可能性,例如 Firebase,以及不同的 AWS 选项,例如 EC2、Lambda、S3 等。我在这一切中有点迷茫,所以也许你可以帮忙并给我一些建议!

提前致谢!

【问题讨论】:

    标签: node.js reactjs heroku web-scraping


    【解决方案1】:

    如果我正确理解了您的问题,那么抓取本身不必与您的着陆页/React 应用程序相关联。让我们来看看一个潜在的解决方案。

    SQL 数据库

    你可以在这里使用任何 SQL 数据库,真的。为您将抓取的每个来源创建一个包含相关列的表。我个人喜欢 AWS 中的 RDS Postgres。刮掉雅虎财经?好吧,有一个名为“yahoo”的表和“ticker”、“open”、“close”、“date”等列。

    调度爬虫

    我假设您已经使用 Python 从源代码中进行了实际的抓取/提取信息。您可以使用 cronjobschedule package 安排爬虫每小时/每天/每周/等运行。将您的爬虫连接到 SQL 数据库,以便访问它并以您需要的任何方式存储数据。刮板可以存在于 AWS 的 EC2 中。您需要为实例进行一些设置。您还可以将抓取工具连接到 Sentry 等应用程序,以轻松监控抓取的进度和错误。

    反应应用

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

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

    【讨论】:

    • 嗨艾瑞斯!非常感谢您的建议。我觉得它很有帮助,现在尝试遵循它。我创建了一个 EC2 实例,RDS for Mysql。我现在不完全理解的是,如何将 EC2(我的 Python 脚本所在的位置)连接到 RDS?或许你可以多解释一下。
    • 您可以使用诸如 Peewee 之类的库来处理与您的 RDS 的连接!你可以在这里查看:docs.peewee-orm.com/en/latest/peewee/installation.html
    最近更新 更多