按 python 中的位置访问网站

Access web site by location in python

由于服务器位置的原因,一些网站在初学者中有 pt.en. 或在结尾有 .br.it

当我使用 python 的库作为函数时 urlopen 我必须传递网站的完整地址字符串,包括服务器位置的终止字符串(对于国际服务器) .

一些国际网站有每个国家的服务。有什么方法可以 python 让这对用户透明? (添加终止或起始字符串)因为某些网页不会以自动方式重定向到本地邻近服务器。

If you try to access google.com and google decides to forward you automatically to google.se (for example), there's nothing the client can do about it - whether that client is a human or a python script. That is controlled by the webserver, not the client.

Danielle 在评论中所说的并不完全正确,当客户端访问网页 "google.com" 时,站点主机注意到您的 ip 位置并发回信号告诉浏览器将当前站点重定向到 "google.se"(以 Danielle 的示例为例)使网站与您的 ip 位置相匹配。但是,您可以避免重定向。至于问题,这里有一个使用 python Requests 库的简单演示。将 allow_redirects 设置为 False.

import requests

r = requests.get('https://www.google.com')
print(r.url)
# 'https://www.google.ca/?gfe_rd=cr&dcr=0&ei=mpewWZGdGePs8we597n4Dw'
# requests automatically followed the redirect link to google.ca

r = requests.get('https://www.google.com', allow_redirects=False)
print(r.url)

# 'https://www.google.com/'
# here it says at google.com

您的问题不够明确,无法提供更详尽的答案。但我希望我的例子对你有所帮助。