正确解析ATOM订阅源
我目前已经设置了一个Python脚本,它使用feedparser来读取订阅源并对其进行解析。不过,我最近遇到了日期解析的问题。我正在阅读的Feed包含<modified>2010-05-05T24:17:54Z</modified>
- 以Python作为日期时间对象出现 - 2010-05-06 00:17:54。注意这个差异:5月5日修改了feed条目,而python将其作为第6条阅读。正确解析ATOM订阅源
所以问题是为什么会发生这种情况。 ATOM提要(即创建提要的那个提供商)错误的方式是把时间设置为24:17:54,或者我的python脚本对待它的方式是错误的。
我可以解决这个问题吗?
rfc在这里有一些有趣的特殊情况(http://tools.ietf.org/html/rfc3339),但是,通常它的00:00:60和00:00:59允许闰秒。这可能是合法的。我的猜测是它做了“正确的事情”。诚实地说,由于DST和当地时区等因素,日期/时间会变得非常混乱。如果它的24:17:54,那毕竟可能是正确的。
我认为今天24点17分明智地解析为明天00:17 ....我认为你很好地处理了制作者的错误。
不完全:我知道生产者真的意味着今天00:17。明天将是未来... – yydl 2010-05-05 14:58:22
因此,假设它正在做正确的事情,我该如何纠正我的Python脚本来处理? – yydl 2010-05-05 01:20:38
@约瑟夫,我不会做任何事情,因为Python似乎在做正确的事情。如果它非常重要,那么您需要记下该Feed正在使用的时区,python正在生成的时区以及您真正想要的时区,然后使用datetime库正确修改内容。但是除非你知道你使用的是什么单位(即你使用的是什么时区),否则你将无法解决问题。 – wisty 2010-05-05 10:07:24
@joseph同意wisty,python正在做正确的事情,真的没有什么可以解决的。 – dlamotte 2010-05-05 13:08:14