我需要构建一个分析SEO的Web服务。该服务将显示网站更新的频率。我需要弄清楚如何从网站的HTML中获取发布日期或更新频率。
例如,在http://googletesting.blogspot.com/上,我可以从代码<span>Wednesday, June 04, 2014</span>
获取日期。其他网站不使用相同的标签和日期格式,所以我不能使用相同的代码来检测这些日期。
(日期可以在不同的语言环境中具有非常不同的格式。此外,月份名称可以写为文本或数字。我需要尽可能多地匹配日期。有时,日期格式不是发布日期,但它只是文章中的单词。
我的算法 我试图从所有发布的“发布日期”然后计算更新频率。 如拳头发布于2012年5月30日,第二张贴于2012年5月29日,第三张贴于2012年5月28日 所以我会得到这个网站更新的结果 dairly
最后,我想知道每个网站是否更新:
如何从任何网站可靠地获取此信息?
答案 0 :(得分:0)
您可以下载主页并存储,而不是解析页面中的日期。然后你可以每天回来再次下载主页以查看它是否发生了变化。即使对于未在其主页上发布任何日期的网站,此方法也适用。这需要更长时间才能得到你的答案。
另一种方法是下载网站的RSS源(如果有的话)。您提供的示例站点具有XML提要:http://feeds.feedburner.com/blogspot/RLXA?format=xml RSS提要是机器可读的,日期采用一致的格式。
您还说您正在使用Java。我发现Java的日期解析库不是很灵活。它们会强制您在解析之前知道日期的确切格式。我用Java编写了一个免费的,开源的灵活日期时间解析器,您可以尝试:http://ostermiller.org/utils/DateTimeParse.html一旦您在页面上找到了日期(可能是为了查看“发布后”之后的内容),您可以使用我的灵活性解析器以各种格式解析日期。