0

我需要从 Java 代码向 Google Scholar 发出多个(超过 100 个)HTTP 请求以收集数据。但是,该站点在大约 20 个请求后阻止了这种情况,并生成了验证码。我听说过“Amazon Spot Instances”让请求系统的 IP 地址定期更改,从而通过确保请求不来自单个 IP 来避免验证码的发生。谁能帮我解决这个问题,并提供更多详细信息?(Amazon EC2 现场实例以外的替代方法也可以)

4

1 回答 1

1

定期更改 IP 地址不是 Amazon 环境中 Spot 实例的独特功能(它也可用于按需实例和预留实例),Amazon CLI 还允许您分配、附加、解除附加和释放 IP 地址。

Amazon 的 SDK 将允许您调用 Spot 实例的创建并附加 IP 地址,因为后者http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RunInstances.html是一个不错的选择初始点。它在多种语言中得到很好的支持。

对于 Java,我会查看http://aws.amazon.com/sdkforjava/并了解一下,这是一个强大的 API!

根据您对 AWS 环境的经验,有一些额外的东西需要记住,尤其是 Spot 实例。Spots 可以随时终止(字面意思是中间查询),因此您应该将您的应用程序构建为无状态的,一个好的解决方案是将结果发送到 S3 存储桶中。它的另一个好处是能够一次部署多个实例并拥有一个数据收集端点。

于 2013-09-18T07:33:03.163 回答