某些网站在初学者中有pt.
,en.
,或者由于服务器位置而在.br
,.it
结尾。
当我使用python库作为函数urlopen
时,我必须传递网站的完整地址字符串,包括服务器位置的终止字符串(对于国际服务器)。
一些国际网站拥有每个国家/地区的服务。有一些方法可以让python对用户透明吗? (添加终止或起始字符串)因为某些网页不能以自动方式重定向到本地接近服务器。
答案 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
您的问题不够明确,无法提供更全面的答案。但我希望我的例子对你有所帮助。