Как определить, какой API блога
Вопрос
Допустим, вы хотите создать очень простой редактор BlogEditor, и одна из ваших идей - делать то, что делает Live Writer, и запрашивать только URL блога persons.Как вы можете определить, к какому типу относится ваш блог?
Базовое обнаружение может быть выполнено с помощью самого URL-адреса, например “http://myblog.blogger.com” и т.д.Но что, если он размещен самостоятельно?
Меня больше всего интересует, как это сделать на Java, но этот вопрос также может быть использован в качестве ссылки для любого другого языка.
Решение
Многие (большинство?) блоги будут иметь мета-тег для "генератора", в котором будет указан движок блога.Например, блог blogger будет содержать следующий мета-тег:
<meta name="generator" content="Blogger" />
В моем подтекстовом блоге показан следующий мета-тег generator:
<meta name="Generator" content="Subtext Version 1.9.5.177" />
Этот мета-тег будет первым местом, на которое стоит обратить внимание.Для блогов, которые не задают этот мета-тег в исходном коде, вам придется прибегнуть к поиску шаблонов для определения типа блога.
Другие советы
Некоторые блоги предоставляют мета-тег генератора - напримерWordpress - вы могли бы узнать, есть ли какие-либо исключения из этого правила.
Однако вам придется быть осторожным при его обнаружении, Google удивил меня этой строкой:
<meta content='blogger' name='generator'/>
Одинарные кавычки - это богохульство.
Чтобы определить другие шаблоны, которые следует искать при определении движка ведения блога (для тех, у кого нет мета-тега generator), вам в основном просто нужно просмотреть исходный код, чтобы определить что-то конкретное для этого типа блога.Вам также нужно было бы сравнить это с несколькими блогами такого типа, поскольку вы хотите убедиться, что это не что-то специфичное для обложки или темы, используемой только в блоге.
Другой мыслью было бы почитать документы различных распространенных движков ведения блогов, чтобы узнать, как определить местоположение его путей к таким вещам, как MetaWeblog API и т.д.IIRC, Live Writer имеет встроенную поддержку наиболее распространенных типов, остальные относятся к категории "MetaWeblog API Blog" или что-то в этом роде.