oEmbed.info — сервис, который очень многое может сказать о любой веб-странице



Вообще-то, этот сервис, являющийся очередной вариацией на тему oEmbed+, не имеет прямого отношения к Альто. Но он может быть полезен любому разработчику, в т.ч. и создающему сайты на Alto CMS.

Для занятых и нетерпеливых сразу ссылка на сервис: https://oembed.info/

А тех, кому важны детали, прошу под кат.

oEmbed, Open Graph, Twitter Cards и все-все-все

Как-то понадобилось для одного проекта сделать так, чтоб по введенному URL можно было отобразить красивую картинку или вставить плеер, если это ссылка на видео. А еще лучше — даже для видео показать сначала статическую картинку, а уже по клику вставить вместо нее плеер. И, конечно же, в первую очередь приходит в голову использовать для этого oEmbed.

Что такое oEmbed, надеюсь, объяснять не нужно? Ну, если кто подзабыл, то oEmbed – это открытый формат для представления URL на стороннем сайте (как, например, делает это Фейсбук, когда в статусе указывается какой-то сайт). Для более подробной информации лучше почитать официальный сайт об этом формате: http://oembed.com/

И немало сервис-провайдеров сегодня поддерживают этот формат: YouTube, Flickr, SlideShare и многие другие.

Но кроме oEmbed есть еще форматы микроразметки Open Graph и Twitter Cards, которые, фактически, служат ровно для тех же целей, что и oEmbed. И ресурсов, которые используют микроразметку для описания своих страниц многократно больше тех, что реализуют oEmbed.

А еще существует множество сайтов, которые вообще не заморачиваются ни oEmbed, ни микроразметкой, а живут, как умеют. Но по ним тоже хотелось бы получать возможную информацию.

Слишком много информации об URL не бывает

В общем, после некоторых размышлений и экспериментов я пришел к тому, что нужен некий сервис, которому ты отдаешь URL и получаешь обратно информацию, которую используешь для оформления виджета, карточки или какого-то иного блока на странице своего сайта. Короче, делаешь красиво, как тебе надо.

И такие сервисы, разумеется, существуют. Но в каждом из них мне чего-то не хватало для полного счастья. И вот так, как это нередко случается, родился новый сервис: oEmbed.info. Делал сначала сугубо для себя, но я слегка увлекся, и получился публичный сервис.

Этот сервис старается из полученного URL вытащить максимум информации, насколько это возможно – и через oEmbed, и через разметку, наконец, просто парсит HTML – и отдает ее аккуратным json'ом. В итоге, с одной стороны, получаем информацию в формате oEmbed, даже если ресурс не поддерживает этот формат. А с другой – объем получаемой информации, как правило, гораздо больше, чем это предусмотрено стандартом (кстати, именно поэтому в самом начале я говорю про «oEmbed+», а не просто oEmbed).

И что теперь со всем этим делать?

Информацию по URL можно получить вручную, а можно через API. Чтоб работать через API нужно получить API KEY, это совершенно бесплатно.

После регистрации своего сайта и получения ключа можно автоматизировать получение информации о любом URL. Вот простейщий пример кода на PHP:

$sUrl = 'https://oembed.info/api/info/?key=API_KEY&url=site.com/blabla';

$aOptions=array(
    "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),
);  

$sData = file_get_contents($sUrl, false, stream_context_create($aOptions));
$aInfo = json_decode($sData, true);

var_dump($aInfo);

Вы можете на основе полученных данных сформировать блок информации о вебстранице — с заголовком, описанием, картинкой и т.д. Или просто разместить скриншот страницы в виде изображения (ага, скриншоты тоже делаются). Либо, если в возвращаемых данных есть код плеера, вставить его вместо URL. В общем, все зависит от вашей фантазии и от ваших навыков программирования.

Да, в текущем виде это сервис именно для разработчиков с умениями и фантазией, хотя есть, конечно, идеи, как сделать его полезным и для тех, кто не является программером ни разу.

Как монетизировать сервис, я не придумал, но т.к. ресурсов он потребляет совсем немного, то пусть живет так. Хотя, если у кого-то будут мысли, типа «если б была такая фича, то я бы за нее заплатил», то буду благодарен, если их озвучите. Впрочем, буду благодарен за любые предложения по улучшению сервиса.

Похожие статьи

  • Плагин Oembed. Обновление 1.2
    Что такое Embed, нужен ли вам oEmbed и как это реализуется в Alto при помощи одноимённого плагина читать тут. При обновлении плагина произошли следующие существенные изменения: 1. Все библиотеки (собственно pear...
  • Oembed и AltoCMS
    Для тех, кому лень гуглить (из тех кто не в курсе), приведу вольный перевод титульного абзаца с http://www.oembed.com: Oembed — это способ представления ссылок на сторонний контент. Когда-то давно, когда слово...
  • Плагин авторизации через соцсети и сервисы на основе OAuth
    Требуется плагин для авторизации при помощи популярных сервисов через OAuth. Я пообщался с одним из разработчиков, он в принципе согласен взяться. Вот его ответ: В принципе могу, но я до конца недели занят. Может до...

12 комментариев

0
Можно включить в поддержку в соответствующем плагине.
0
Да, думаю, это будет вполне уместно. Можно в конфиге задавать: получать данные встроенными средствами или через сервис.
0
Как минимум об этом должны знать массы —> скопируйте эту статью на Хабр.
Имхо, полезная вещь.
+1
Будете смеяться, но на Хабре из-за этой статьи я улетел в рид-онли :)
0
Логично в принципе —), ресурс очень жесткий _)
0
ужас!
+1
Я наивно полагал, что бесплатный ресурс, заточненный под разработчиков (а не разработчикам там вообще непонятно, о чем речь) — это вполне себе тема для Хабра. Ан нет! Тут же прилетело НЛО: «Реклама это. Извольте на месяц в баню»
0
Хабр охамел совсем со своими правилами
0
Поправьте чуток английский
здесь и в других местах «например» это e.g./i.e./f.i.
Use oEmbed json data as you need, e.c. you can insert html instead URL
Use oEmbed json data as you need, e.g. you can insert html instead of URL
Отредактирован:
0
Спасибо
0
Это получается вы последовательно развиваете идею виджетов в Альто, интересно какие преимущества для сео и я как раз думаю перенести сайт с ЛС на Альто. И сделать шаблон на виджетах, чтобы одни и те же блоки с одинаковым содержимым выводились в разных разделах сайта подстраиваясь под место вывода.
+1
Если сравнивать виджеты Альто и блоки LS, то виджеты буквально с первого релиза были гораздо функциональнее, чем LS-блоки: можно было их включать, выключать, задавать условия и исключения для отображения.

И как-то обсуждали уже идею с построением шаблона полностью на виджетах, но дальше обсуждения дело не пошло, т.к. нужно потратить немало усилий и создать хотя бы рабочий прототип, чтобы понять, насколько эта идея работоспособна, нет ли каких-то подводных камней и т.д.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.