我想在不“刮掉”页面的情况下做到这一点,即使有一种方法不是严格通用的。环顾一番后,我发现您可以从标题中获取最后修改日期,但我发现这没什么用,因为对于许多网站来说,返回的日期只是过去几秒钟的时间。这似乎是因为页面上的一些小变化(如评论)。
user377628
问问题
684 次
2 回答
2
检查该站点是否提供原子提要,它应该具有发布日期。例如,您的问题的提要有:
# removed stuff
<entry>
# trimmed some more stuff
<author>
<name>Hassan</name>
<uri>https://stackoverflow.com/users/377628</uri>
</author>
<link rel="alternate" href="https://stackoverflow.com/questions/19384363/is-there-a-way-to-check-the-day-an-article-was-published-on-an-arbitrary-website" />
<published>2013-10-15T14:52:55Z</published>
<updated>2013-10-15T14:52:55Z</updated>
# more stuff here
于 2013-10-15T14:57:45.693 回答
2
为了在任何站点上可靠地可用,任何给定的信息都必须是 HTTP 标头块的一部分。“首次发布”或“已创建”或类似内容没有 HTTP 标头。最好的可用值是“Last-Modified”,因为这是在 HTTP 上下文中唯一有意义的值。
举例来说,静态页面可能具有文件系统创建日期,但整个内容可能已被替换。文件系统的“创建日期”不需要更改,但最后修改日期会。类似地,对于动态创建的页面,创建页面的软件必须依赖系统内的某个日期,但同样,内容可能在创建后被部分或完全替换。困难在于决定哪些更改构成新发布的页面,或者只是旧页面的修改版本。
根据您的问题,某些联合格式(如 Atom 或 RSS)可能在其内容中包含“发布日期”,但这不会是 HTTP haders 的一部分,因此在任何任意站点上都不可用。
您可以在此处找到 HTTP 标头参考
于 2013-10-15T15:16:07.100 回答