我正在AWS托管服务器上运行一些Web抓取作业。抓取工具从电子商务网站上抓取数据,但最近抓取工具从网站上获取“超时错误”。该网站可能会根据我的IP地址限制我的访问频率。分配新的弹性IP地址可以解决问题,但不能长久。
我的问题:我是否可以使用任何服务来自动和动态地分配&将新IP与我的实例相关联?谢谢!
答案 0 :(得分:6)
要更改EIP,您只需使用Python boto
即可这样的事情:
#!/usr/bin/python
import boto.ec2
conn = boto.ec2.connect_to_region("us-east-1",
aws_access_key_id='<key>',
aws_secret_access_key='<secret>')
reservations = ec2_conn.get_all_instances(filters={'instance-id' : 'i-xxxxxxxx'})
instance = reservations[0].instances[0]
old_address = instance.ip_address
new_address = conn.allocate_address().public_ip
conn.disassociate_address(old_address)
conn.associate_address('i-xxxxxxxx', new_address)
答案 1 :(得分:0)
如果你想使用TOR网络,只需执行:
sudo apt-get install tor
sudo /etc/init.d/tor start
netstat -ant | grep 9050 # Tor port
并在您的java项目中将代理设置为:
public static void main(String[] args) {
System.setProperty("socksProxyHost", "127.0.0.1");
System.setProperty("socksProxyPort", "9050");
您可以安排一个cron作业,每个XX时间重新启动您的应用程序和。
简单安全。