假设您想要创建一个非常简单的 BlogEditor,并且您的想法之一就是执行 Live Writer 所做的操作并仅询问人员博客的 URL。如何检测博客的类型?

基本的检测可以通过 URL 本身来完成,例如“http://myblog.blogger.com“ ETC。但如果它是自托管的怎么办?

我最感兴趣的是如何在 Java 中做到这一点,但这个问题也可以用作任何其他语言的参考。

有帮助吗?

解决方案

许多(大多数?)博客都会有一个“生成器”的元标记,它将列出博客引擎。例如,博主博客将包含以下元标记:

<meta name="generator" content="Blogger" />  

我的 Subtext 博客显示了以下生成器元标记:

<meta name="Generator" content="Subtext Version 1.9.5.177" />  

这个元标记将是第一个要查看的地方。对于未在源中设置此元标记的博客,您必须寻找模式来确定博客类型。

其他提示

一些博客提供了生成器元标记 - 例如Wordpress - 您可以查看是否有任何例外情况。

不过,你必须小心如何检测它,谷歌的这一行让我感到惊讶:

<meta content='blogger' name='generator'/>

单引号是亵渎。

要确定在确定博客引擎时要寻找的其他模式(对于那些没有生成器元标记的博客引擎),您基本上只需浏览源代码即可确定特定于该博客类型的内容。您还需要在该类型的多个博客之间进行比较,因为您想确保它不是特定于博客上使用的皮肤或主题的东西。

另一个想法是阅读各种常见博客引擎的文档,以了解如何发现 MetaWebLog API 等内容的路径位置。IIRC,Live Writer 内置了对最常见类型的支持,其余的都分类为“MetaWebLog API 博客”之类的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top