如何自动化亚马逊aws EC2进行抓取

neh*_*h11 0 amazon-ec2 amazon-web-services

嗨,我想设置一些亚马逊EC2实例(多个)从任意站点刮取数据.我想象它的设置方式是一个亚马逊实例,它是一个以编程方式设置其他实例来刮擦的主人.现在我有PHP脚本可以刮我想要的方式,但我怎么能设置我的主服务器...

1)制作其他ec2实例

2)主服务器和从服务器之间的通信

jar*_*mod 5

可以通过在需要时使用主启动工作器实例来自己构建它,发送它们的scrape请求,在需要时终止它们并且通常自己编写所有编排代码并尝试使其高度可用.但这不是一个很好的方法.相反,您应该利用AWS功能.

您可以使用SQS和Auto Scaling组的组合.您的主实例会将scrape请求添加到SQS队列,并且您将在SQS队列深度上触发 Auto Scaling组以启动新的工作器实例 - 这可以帮助您在工作负载较高时自动启动工作程序(scraper)并终止工作量低时的工人.这些工作器实例将从SQS队列中提取刮擦请求,执行刮取工作,然后重复.

另一种方法是使用AWS Lambda.您可以从SQS或SNS触发Lambda函数.让您的主服务器向SQS队列添加scrape请求或让主服务器向SNS主题发布请求,然后从SQS队列或SNS主题驱动Web-scraper Lambda函数(用JavaScript编写).

就个人而言,我会先调查Lambda路线.