按位置在python

时间:2017-09-07 00:03:03

标签: python python-2.7 python-3.x urlopen

某些网站在初学者中有pt.en.,或者由于服务器位置而在.br.it结尾。

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

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

1 个答案:

答案 0 :(得分:0)

  

如果您尝试访问google.com并且Google决定转发您   自动google.se(例如),客户端没什么   可以做到这一点 - 无论该客户端是人类还是python脚本。   这是由网络服务器控制的,而不是客户端。

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

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