【发布时间】:2020-12-24 18:30:24
【问题描述】:
我编写了一个跟踪亚马逊价格的 Flask 网络应用程序。以下是其作用的概要:
- 用户注册并登录到应用程序
- 他们输入了他们想要在亚马逊上跟踪的产品的 URL 以及他们的预算和电子邮件
- 应用程序将抓取 URL 并检索当前价格。然后它将它与预算进行比较并执行一些操作
我遇到的问题是,例如,当我在 Heroku 上部署应用程序时,我希望应用程序每天对产品运行网络抓取和价格检查,以便它可以注意到价格的任何变化。
有人知道怎么做吗?我需要编写一个单独的 python 脚本吗?我需要什么样的 Web 服务?我希望他们不花任何钱
【问题讨论】:
-
网页的工作方式与桌面程序不同 - 客户端发送请求(使用 URL),服务器运行代码(通常需要 30 秒 - 阻止
DDOS)并向客户端发送响应(通常是 HTML)。如果您必须运行长时间运行的代码,那么您可能必须在单独的线程中运行它或发送到可以运行超过 30 秒的外部程序 - 即。Celery。之后,客户端浏览器中的页面可以使用 JavaScript/AJAX 每隔几秒询问服务器是否有结果。如果您想每天运行相同的抓取,则可以使用cron/crontab。
标签: python flask heroku web-scraping web-applications