为什么我从不同的位置得到不同的http响应?

2024-06-12 07:40:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个工作的任务,我需要的网站废料boxofficemojo网站。你知道吗

我把所有的东西都编码了,在我的本地机器上运行得非常好。你知道吗

有大约19000网址,我需要刮。由于这显然是一个耗时的过程,我不想在本地机器上运行它。相反,我想在aws ec2实例上运行它。你知道吗

ec2实例是ubuntu18.04。我已经验证了python版本和脚本中使用的库是否存在以及所有内容。你知道吗

但是,如果我尝试

requests.get('http://www.boxofficemojo.com')

它给了我503的回复。如果我打印回复文本,它会说我们正在更新站点。但是同样的事情在我的本地机器上工作。你知道吗

为什么在ec2实例中会出现这种wierd行为。你知道吗

我试图通过发出ping命令来测试ec2实例内部的internet连接。很好用。你知道吗


Tags: 实例版本脚本机器aws内容编码网站
1条回答
网友
1楼 · 发布于 2024-06-12 07:40:20

有一些公共站点和公共api专门阻止来自ec2实例(可能还有其他云提供商)的调用。你知道吗

这不是不可能的一些网站,你正试图刮,只是黑名单ec2实例的ip范围,以减少对'机器人'正在吞噬他们的资源。。。我已经在好几个网站上见过几次了。你知道吗

NBA统计api是我熟悉的一个例子,但我也遇到过其他的例子——你正在抓取的网站可能也是其中的一部分。你知道吗

相关问题 更多 >