我使用Beautiful在两个不同的服务器(美国/欧洲)上运行相同的python脚本,并请求获取HTML字符串。但是,对于同一个URL,我会收到一个不同的字符串:
http://magicseaweed.com/Playa-Jaco-Surf-Report/2472/
一个单位以米和日期格式欧洲格式(欧洲服务器)和另一个单位英尺和美国日期格式(美国服务器)。
我试图更改请求的HTTP头:
headers = {'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4,de;q=0.2,ru;q=0.2,ja;q=0.2',
'User-Agent': 'python-requests/2.6.0 CPython/2.7.6 Darwin/14.1.0'}
r = requests.get(url,headers = headers)
但是它并没有改变任何东西,美国服务器仍然收到英尺单位/美国格式日期.如何在美国服务器上像在欧洲服务器上一样接收米、单位和欧洲日期格式?
发布于 2015-04-12 20:13:12
无法确定首选的度量系统;在浏览器中也没有这样的首选项,您的操作系统也没有跟踪它。
相反,该站点只是在UI中存储一个可设置的首选项:
此设置似乎存储在MSW_unitgroup
cookie中:
值在uk
、us
和eu
之间切换。
登录用户可以将首选项设置为其帐户的一部分:
由于您的Python代码尚未登录到帐户中,因此将显示一个默认值;最多可以根据您的IP地址选择默认值。
你可以自己设置这个曲奇:
cookies = {'MSW_unitgroup': 'eu'} # european units
headers = {'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4,de;q=0.2,ru;q=0.2,ja;q=0.2',
'User-Agent': 'python-requests/2.6.0 CPython/2.7.6 Darwin/14.1.0'}
r = requests.get(url, headers=headers, cookies=cookies)
发布于 2015-04-12 20:13:27
站点magicseaweed.com将单元选择存储在MSW_unitgroup cookie中。如果您想要度量单位,您需要发送值为"eu“的MSW_unitgroup cookie。
https://stackoverflow.com/questions/29594079
复制相似问题