Requests.get结果中的时区支持
我正在用Python抓取一个简单的网页。当我用Chrome查看这个网页时,我看到:
8/13 下午2:20 - 这是我所在时区的正确时间
在其中一个日期字符串中(返回的是字符串格式)
我使用requests.get(用urllib2也是一样的结果),调用如下:
thepage = requests.get('http://fakepage.com')
当我把所有内容解码后,我得到的是:
8/13 下午4:20 - 因为时间正好差了两个小时,我猜是服务器在检测我的时区。
有没有办法在requests.get的调用中发送我的时区?或者我可能理解错了什么。
2 个回答
-2
解决了 - 我在请求中有一个字符的拼写错误,这导致在Chrome和request.get之间返回的HTML内容完全一样,唯一不同的就是时间。
感谢大家的帮助。
0
不,你的浏览器在发送请求的时候并不会带上任何时间信息。所以服务器无法根据这个信息来调整发送的HTML的时区。
你看到的情况通常是通过JavaScript来实现的;比如可以参考一下如何从浏览器获取客户端时区。实际上是你的浏览器执行了代码,把页面上的日期时间转换成了你本地的时区,而不是服务器来做这个。
这样做也更高效;服务器只需要给每个客户端发送一个版本的HTML页面,这样更容易缓存。