首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`requests`如果同时在本地和云上运行,则会为同一脚本返回不同的结果

`requests`如果同时在本地和云上运行,则会为同一脚本返回不同的结果
EN

Stack Overflow用户
提问于 2020-12-17 00:42:37
回答 1查看 34关注 0票数 0

我正在尝试发送一个请求到this链接,并在Python脚本中获取其HTML内容。我正在使用requests库。该脚本在本地运行得很好,并获得了HTML内容。

这个脚本只是一个测试,目的是在我使用另一个脚本来删除相同的链接之前,确保一切正常工作。这个刮板程序会运行2-3天,所以我显然想在云上运行它。

因此,当我在Google Cloud Platform的VM实例上使用该测试脚本时,它将获取网站的一个特殊页面的内容,该页面用于列入黑名单的IP。因此,这意味着GCP的服务器被网站列入黑名单。如果我以前从未使用过GCP进行web抓取,如何将其列入黑名单?

我怎样才能确保每件事都按预期工作?下面是我的代码,它检查HTML内容是用于正确的页面还是不正确的页面(黑名单页面的主体中包含单词'engineers‘,因此我正在搜索该单词以识别页面类型):

代码语言:javascript
复制
import requests

base = 'https://www.autotrader.com/car-values/'

headers = {}  ## my headers go here. Without them, even locally, the script won't work

r = requests.get(base, headers=headers)
HTML = str(r.content)

if 'engineers' in HTML:
    print('You landed on blacklisted page')
else:
    print('Successful')

我也在Streamlit上部署了相同的脚本,但它在那里也不起作用。所以我猜这是网站施加的某种保护,以拒绝所有云服务器。

请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2020-12-17 03:44:26

有两个原因

  • 或者网站已经将所有云提供商
  • 的所有公网网段列入黑名单,或者您使用的IP已经被其他云客户用于网络抓取,并且已经被列入黑名单。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65327497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档