首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么使用Amazon网关在使用requests.get(URL)时给出了错误的HTML页面

为什么使用Amazon网关在使用requests.get(URL)时给出了错误的HTML页面
EN

Stack Overflow用户
提问于 2022-03-28 07:45:12
回答 1查看 236关注 0票数 0

我目前正在构建一个网络刮刀,并遇到了IP被封锁的问题。为了解决这个问题,我尝试使用旋转器,它使用AWS的大型IP池作为代理,生成用于web抓取的伪无限IP。在这个答案之后,我将其实现到代码中,如下所示:

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup
from requests_ip_rotator import ApiGateway, EXTRA_REGIONS

url = "https://secure.runescape.com/m=hiscore_oldschool_ironman/a=13/group-ironman/?groupSize=5&page=1"
page1 = requests.get(url)
soup1 = BeautifulSoup(page1.content, "html.parser")

gateway = ApiGateway("https://secure.runescape.com/",access_key_id="****",access_key_secret="****")
gateway.start()
session = requests.Session()
session.mount("https://secure.runescape.com/", gateway)
page2 = session.get(url)
gateway.shutdown() 
soup2 = BeautifulSoup(page2.content, "html.parser")

print("\n"+page1.url)
print(page2.url)
print(soup1.head.title==soup2.head.title)
input()

产出:

代码语言:javascript
复制
Starting API gateways in 10 regions.
Using 10 endpoints with name 'https://secure.runescape.com/ - IP Rotate API' (10 new).
Deleting gateways for site 'https://secure.runescape.com'.
Deleted 10 endpoints with for site 'https://secure.runescape.com'.

https://secure.runescape.com/m=hiscore_oldschool_ironman/a=13/group-ironman/?groupSize=5&page=1
https://6kesqk9t6d.execute-api.eu-central-1.amazonaws.com/ProxyStage/m=hiscore_oldschool_ironman/a=13/overall
False

因此,两次我都使用.get( url )方法,我使用相同的url,但是接收不同的页面。Request.get(url)给了我我想要的页面,但是当我使用session.get(url)的亚马逊网关时,它给我的不是和以前一样的页面,而是来自同一个站点的不同的页面。我对这个问题感到困惑,所以任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-30 23:35:29

当使用AWS网关向"https://secure.runescape.com“域发出get请求时,我注意到,如果URL路径为:"a=13/group-ironman/?groupSize=5&page=x" (任意x),那么我将得到302个响应(重定向响应),它将我重定向到URL "/a=13/overall"。这使我相信runescape服务器正在为某些URL重定向AWS IP,但幸运的是它没有重定向我自己的IP。

因此,我的解决办法是使用没有AWS网关的requests.get(),用于正在被重定向的URL,对于同一站点的其他URL,AWS网关没有被重定向,所以我仍然使用它来避免IP阻塞。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71643958

复制
相关文章

相似问题

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