最简单但防弹的方式可以使用Python(基于URL)推导网页的时区



我正在编写基于DJANGO的RSS/ATOM读取器,这是时区意识到的 - 我认为这是必要的。但是,有些网站使用TZ Naive格式(甚至是Big的格式 - Hello The Guardian),根据网站推断出适当的时区的最佳方法是什么?

根据网站推导适当的时区的最佳方法是什么?

您无法根据网站推导时区。可以从世界任何地方提供网站,并包含有关世界上任何地方或多个不同地方的内容。

我在DB中有RSS/Atom feed URL,这是我的起点。

您不能单独从URL中分辨出任何东西。但是,您可以假设URL点在有效的RSS或原子feed上,请获取feed的含量并检查其中包含的日期。

  • RSS规范在<item>元素上定义了pubDate属性,在<channel>元素上定义了可选的lastBuildDate。两者都处于RFC 822日期格式。

    • 此格式可能包含+/-HHMM表格的时区偏移,也可能包含少数有限缩写的偏移,如第5节所定义的。
  • 原子规范在每个<entry>元素上定义了published元素,以及<feed>元素上的updated属性。两者都处于RFC 3339日期格式。

    • 此格式必须包含+/-HH:MMZ(用于UTC)的时区偏移。

    • 请注意,此格式是ISO 8601

      的特定配置文件

因此,您可以从通道/feed的时间戳或单个消息的时间戳中提取偏移。但是:

  • 不能保证正确设置了时区偏移以开始。

  • 源可能会或可能不会将数据标准化为UTC,在这种情况下,所有偏移均为零。

  • 无论如何,偏移并不能唯一地标识时区。请参阅"时区!=偏移"在时区标签Wiki中。

相关内容

  • 没有找到相关文章

最新更新