【问题标题】:Python Web Scraping - How to scrape a News website 24/7 for new articles?Python Web Scraping - 如何 24/7 全天候抓取新闻网站以获取新文章?
【发布时间】:2021-06-07 20:04:50
【问题描述】:

没有找到关于我的特定问题的答案,所以如果已经有人问过这个问题,我很抱歉。

我创建了一个 Python 程序,它可以通过某些关键字抓取新闻网站上发布的文章。平均而言,在晚上运行一次时,它将搜索一天中的 2000 篇文章。现在我显然希望这个程序在 24/7 循环上运行,实时(或每 5 分钟)寻找新文章。当它根据我的关键字命中某些内容时,我会收到通知。

因此,我想知道你们对托管有什么好的建议吗?我听说过 AWS Lambda,但想获得第二个意见。任何低于每月 250 美元的费用都是可能的 :) 也许有人正在运行类似的项目,或者可以通过 AWS 确认我的想法。 提前致谢!

【问题讨论】:

    标签: python amazon-web-services web-scraping aws-lambda hosting


    【解决方案1】:

    我想到的基本上有 2 个选项:

    1. 您可以提供自己的主机以 24/7 全天候运行您的代码,例如您不使用的旧笔记本电脑或 PC,实际上只支付电费。但是,如果您希望稍后进行扩展(假设您不想购买新硬件),此方法将不允许进行任何扩展。
    2. 您可以使用公共云(AWS、GCP 等)。首先想到的是 AWS Lambda 或专用的 EC2,它们相对容易设置和运行代码。实际成本可能因 AWS 区域、实例类型、使用时间和其他因素而异(例如,您是否也会使用 S3?),但您可以将其保持在每月 250 美元以下,而不会遇到太多麻烦。小型 Lambda 和 EC2 使用起来非常便宜,如果您需要更多资源,可以轻松扩展。

    选项 2 更好:)

    【讨论】:

    • 非常感谢您的回答!正如另一个答案所建议的那样,我会用 EC2 试试运气。由于我对通过外部资源托管我的程序完全陌生,我不知道这一切是如何工作的,但我认为 AWS 会提供一个不错的入口。现在我知道从哪里开始,我将开始爬过它。再次非常感谢您! :)
    【解决方案2】:

    很好的问题,一旦您的脚本启动,您是否会运行新的脚本,或者您可以让终端继续运行吗?

    在后一种情况下,您需要 Amazon ec2,而不是 Lambda。 Lambda 用于运行函数,Ec2 是您正在寻找“托管”并运行程序的“云计算机”。

    查看 Ec2,并使用 EBS 或 EFB 进行存储。 S3 非常适合存储图像、链接或对象,但如果您使用的是 Ec2 实例(云计算机)并且不需要将数据存储为对象并且不需要使用专用的 MYSQL 或 NOSQL 数据库,只需将信息存储在您的 EBS 或 EFB 中。请记住,EBS 和 EFB 是计算机的硬盘驱动器(您的 ec2),而 Amazon RDS 是数据库,Amazon Aurora 在 RDS 内部,用于 MYSQL、PostGRESL,而 S3 就像一个图像/对象驱动器。例如,如果您有一本要分发的电子书,您可以将您的电子书存储在 S3 中。

    您也可以免费设置 Ec2 和 EBS。只需使用免费层并将 t2.micro 用于 ec2 实例。看看它是如何运行几天的,然后在必要时变大。

    【讨论】:

    • 感谢您的回答!正如另一个答案所建议的那样,我将研究 EC2。该程序自行循环运行,但我需要我的 MacBook 和台式电脑来完成其他工作,所以我不能让它们 24/7 运行该程序。再次,非常感谢你:)
    • 是的,一个 Ec2 实例应该很容易工作。请务必使用 t2.micro 并使用免费层。或者,如果您愿意,请付费。 AWS 是值得的。我还误会了 s3.... s3 非常适合存储非数据库的对象,而 EBS 和 EFB 更像是 hdd / sdd。您想将数据存储在数据库中还是仅将其存储在 / 文件夹中?如果您有数据库,您可能想研究 RDS,我相信适用于 MYSQL 的 Amazon Aurora,以及适用于 NOSQL 的 RDS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    相关资源
    最近更新 更多