我有一个网络爬行python脚本需要几个小时才能完成,并且在我的本地计算机上完全运行是不可行的。有没有一种方便的方法将其部署到简单的Web服务器?该脚本基本上将网页下载到文本文件中。如何才能最好地完成? 谢谢!
答案 0 :(得分:4)
既然你说性能是一个问题并且你正在进行网络抓取,首先要尝试的是Scrapy
框架 - 它是一个非常快速且易于使用的网络抓取框架。 scrapyd
工具允许您分发爬网 - 您可以在不同的服务器上运行多个scrapyd
服务,并在每个服务器之间分配负载。参见:
还有Scrapy Cloud
服务:
Scrapy Cloud为高效的Scrapy开发奠定了基础 环境具有强大,功能齐全的生产环境 部署并运行您的爬网。尽管如此,它就像是Heroku for Scrapy 其他技术将在不久的将来得到支持。它继续运行 Scrapinghub平台的顶部,这意味着您的项目可以扩展 需求,根据需要。
答案 1 :(得分:3)
作为已经提供的解决方案的替代方案,我建议 Heroku 。您不仅可以轻松部署网站,还可以运行机器人脚本。
基本帐户是免费的,非常灵活。
This blog entry,this one和this video包含如何使其发挥作用的实际示例。
答案 2 :(得分:2)
您可以在多个地方执行此操作。只需google for" python in the cloud",你会想出一些,例如https://www.pythonanywhere.com/。
此外,还有一些云IDE实际上为您提供了一个免费的小型虚拟机,您可以在基于Web的IDE中开发代码并在VM中运行它,例如http://www.c9.io。
答案 3 :(得分:1)
到 2021 年,Replit.com 将使在云中编写和运行 Python 变得非常容易。
答案 4 :(得分:0)
如果您拥有Google电子邮件帐户,则可以访问Google驱动器和实用程序。选择用于协作(或首先在更多...选项中找到它)。这个“ CoLab”本质上是Google驱动器上的python笔记本,可以完全访问驱动器上的文件,也可以访问GitHub。因此,除了本地内容外,您还可以编辑GitHub脚本。