【问题标题】:How to host a Python script on the cloud?如何在云上托管 Python 脚本?
【发布时间】:2021-12-29 01:08:46
【问题描述】:

我编写了一个 Python 脚本,它会在满足特定条件时抓取网站并发送电子邮件。它每天都在循环中重复。

我将 Python 文件转换为 EXE,并在我的计算机上作为应用程序运行。但我认为这不是满足我需求的最佳解决方案,因为我的计算机并不总是打开并连接到互联网。

是否有一个特定的网站可以托管我的 Python 代码,让它始终运行?

更一般地说,我试图从更大的角度了解它是如何工作的。为了让 Python 脚本在云上运行,您实际上需要做什么?你只上传吗?您必须采取哪些步骤?

提前致谢!

【问题讨论】:

  • 在许多 WWW 服务器中,您可以使用 cron/crontab 每天在选定的时间执行一些代码 - 因此您不必使用循环。所以检查服务器是否有 cron 并让它运行 Python 脚本。大多数服务器使用 Linux,因此您不必创建 EXE 文件。
  • 我记得ScrapingHub.com 你可以免费运行一个蜘蛛/爬虫,但你必须使用 Python 的抓取框架Scrapy。请参阅:ScrapingHub 上的 pricing,以及 Scrapy 的文档
  • @furas 感谢您的回答!我试图获得更大的图景。我在问你实际上需要做什么才能在网络上运行 python 脚本?你只是上传它还是你必须做什么?抱歉这个愚蠢的问题,但我不知道它是如何工作的,我在其他地方找不到任何信息。
  • 在某些服务器上,您可以使用带有管理面板的网页上传脚本并仅在cron 中运行,如果运行时间过长,脚本将被终止。如果您需要每天同时运行它,那么cron 可以做到,您不需要循环。
  • 在其他服务器上,您可以通过 ssh 访问,因此您可以使用 Linux 控制台,并且可以使用 Linux/bash 命令,以任何语言(Python、Perl、PHP、Ruby 等)运行脚本。 ) 甚至你可以用 C/C++ 编译代码。因此,您甚至可以运行一直有效的程序,但最好使用cron。如果管理员必须重新启动服务器,那么cron 将在重新启动后仍然运行脚本。

标签: python cloud hosting


【解决方案1】:

我认为最好的选择之一是 pythonanywhere.com,您可以在那里上传您的 python 脚本 (script.py),然后运行它然后完成。 我用我的电报机器人做到了这一点

【讨论】:

    【解决方案2】:

    您可以使用 AWS Beanstalk 部署您的应用程序。它将为您提供整个 python 环境以及可能根据您的需要更改的服务器配置。它是来自 AWS 云的 PAAS 产品。

    【讨论】:

      【解决方案3】:

      到目前为止,我发现的最好和最便宜的解决方案是将 AWS Event Bridge 与 AWS Lambda 结合使用。

      AWS Lambda 允许您以最流行的编程语言上传和执行您想要的任何脚本,而无需每月支付服务器费用。

      您可以使用 AWS Event Bridge 来触发 Lambda 函数的执行。

      您只需为在 AWS Lambda 中使用的内容付费,而且非常便宜。以下是 Lambda 在 AWS N. Virginia 地区的定价。对于大多数脚本,最小内存绰绰有余。因此,要在一个月内每小时运行一个脚本,需要 5 秒才能完成,每月将花费 0.00756 美元(不到一美分!)。

      Memory (MB) Price per 1ms
      128 $0.0000000021
      512 $0.0000000083
      1024 $0.0000000167
      1536 $0.0000000250
      2048 $0.0000000333
      3072 $0.0000000500
      4096 $0.0000000667
      5120 $0.0000000833
      6144 $0.0000001000
      7168 $0.0000001167
      8192 $0.0000001333
      9216 $0.0000001500
      10240 $0.0000001667

      然后您可以使用 AWS Event Bridge 安排每分钟、每小时等运行 AWS Lambda 函数。

      这里有一些文章可以帮助您每分钟、每小时等运行任何脚本。

      How to Create Lambda Functions in Python

      How to Schedule Running an AWS Lambda Function

      【讨论】:

        猜你喜欢
        • 2016-09-07
        • 2015-08-31
        • 1970-01-01
        • 1970-01-01
        • 2020-05-23
        • 1970-01-01
        • 1970-01-01
        • 2021-08-05
        • 1970-01-01
        相关资源
        最近更新 更多