首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python请求更改我的当前位置?

如何使用Python请求更改我的当前位置?
EN

Stack Overflow用户
提问于 2021-04-14 21:13:31
回答 2查看 377关注 0票数 0

我在试着掠夺亚马逊新加坡的销售量。为了做到这一点,我使用连接到新加坡服务器的VPN服务。但是我不想再用它了,因为它的免费使用时间已经过期了。我想使用requests库来改变我的位置,而不是使用VPN。

下面是我的代码:

代码语言:javascript
复制
# Set asin, link and headers
asin = XXXXXXXXXX
link = 'https://www.amazon.sg/dp/' + str(asin)

# Headers
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'}

# Set requests object
res = requests.get(link, params = {"format": "json"}, headers = headers)

# Create soup object
soup_data = BeautifulSoup(res.text, 'html.parser')
print(soup_data)

当我运行这段代码时,Amazon看到我在土耳其(这是我当前的位置)。我看不到有多少人在卖这个产品,因为亚马逊在土耳其看到了我。我想把我的位置改为新加坡。如何使用requests库或更改headers来执行此操作

亚马逊有更改位置的GET参数吗?例如:

代码语言:javascript
复制
www.amazon.sg/dp/ASIN_NUMBER?LOCATION=SINGAPORE

希望你们能理解我的意思。

EN

回答 2

Stack Overflow用户

发布于 2021-04-14 21:19:37

亚马逊不太可能允许你的客户告诉它它在哪里。更有可能的是,亚马逊使用你的IP地址(可能还有其他因素)来决定它认为你在哪里。通过使用VPN,您可以更改Amazon看到您连接的IP,从而更改他们认为您所在的位置。

票数 0
EN

Stack Overflow用户

发布于 2021-04-14 21:36:27

亚马逊可能正在使用你的IP来确定你的位置。您可以尝试使用一些公开可用的代理:

代码语言:javascript
复制
def main():

    import requests

    url = "https://d.pub.network/init"

    for address in ("http://45.77.151.33:8080", "http://136.244.83.131:8080"):
        proxies = {
            "https": address
        }
        
        response = requests.get(url, proxies=proxies)
        content = response.json()

        city = content["location"]["cityName"]
        country = content["location"]["countryCode"]

        print("I think you are in {}, {}".format(city, country))
    
    return 0


if __name__ == "__main__":
    import sys
    sys.exit(main())

输出:

代码语言:javascript
复制
I think you are in Piscataway, US
I think you are in Frankfurt am Main, DE
>>> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67092507

复制
相关文章

相似问题

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