如何检测哪个博客API

时间:2020-03-05 18:42:55  来源:igfitidea点击:

假设我们想创建一个简单的BlogEditor,并且想法之一就是执行Live Writer的工作,并且仅询问个人Blog的URL。我们如何检测它是哪种类型的博客?

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

我对如何在Java中执行此操作最感兴趣,但是该问题也可以用作任何其他语言的参考。

解决方案

回答

一些博客提供了Generator元标记,例如我们可以找出是否有例外的Wordpress。

不过,我们必须小心如何检测到它,Google在此行中使我感到惊讶:

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

单引号是亵渎。

回答

许多(大多数?)博客将具有用于"生成器"的元标记,该标记将列出博客引擎。例如,博客博客将包含以下元标记:

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

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

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

该meta标签将是第一个查找的地方。对于未在源代码中设置此元标记的博客,我们将不得不寻找模式来确定博客类型。

回答

要确定在确定博客引擎时要寻找的其他模式(对于那些没有生成器meta标签的模式),基本上,我们只需查看源代码即可确定特定于该博客类型的内容。我们还需要在多个该类型的博客中进行比较,以确保它不是仅针对博客中使用的皮肤或者主题特定的东西。

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