首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >网站怎么知道你的公制,日期格式.?

网站怎么知道你的公制,日期格式.?
EN

Stack Overflow用户
提问于 2015-04-12 20:07:11
回答 2查看 56关注 0票数 0

我使用Beautiful在两个不同的服务器(美国/欧洲)上运行相同的python脚本,并请求获取HTML字符串。但是,对于同一个URL,我会收到一个不同的字符串:

http://magicseaweed.com/Playa-Jaco-Surf-Report/2472/

一个单位以米和日期格式欧洲格式(欧洲服务器)和另一个单位英尺和美国日期格式(美国服务器)。

我试图更改请求的HTTP头:

代码语言:javascript
运行
复制
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)

但是它并没有改变任何东西,美国服务器仍然收到英尺单位/美国格式日期.如何在美国服务器上像在欧洲服务器上一样接收米、单位和欧洲日期格式?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-12 20:13:12

无法确定首选的度量系统;在浏览器中也没有这样的首选项,您的操作系统也没有跟踪它。

相反,该站点只是在UI中存储一个可设置的首选项:

此设置似乎存储在MSW_unitgroup cookie中:

值在ukuseu之间切换。

登录用户可以将首选项设置为其帐户的一部分:

由于您的Python代码尚未登录到帐户中,因此将显示一个默认值;最多可以根据您的IP地址选择默认值。

你可以自己设置这个曲奇:

代码语言:javascript
运行
复制
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)
票数 3
EN

Stack Overflow用户

发布于 2015-04-12 20:13:27

站点magicseaweed.com将单元选择存储在MSW_unitgroup cookie中。如果您想要度量单位,您需要发送值为"eu“的MSW_unitgroup cookie。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29594079

复制
相关文章

相似问题

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