Тема: Как вывести содержимое из XML в PHP

Есть XML страница: http://api.radionomy.com/currentsong.cf … evious=yes

Как из нее вывести данные на php страницу

нужно так:
1 - cover
2 - artists
3 - title

Re: Как вывести содержимое из XML в PHP

Пример чего я хочу получить:
http://breaksradio.ru/wp-content/uploads/2016/02/primer.png

3

Re: Как вывести содержимое из XML в PHP

simplexml_load_string

или

simplexml_load_file

Могу написать полностью рабочий скрипт за $5

4

Re: Как вывести содержимое из XML в PHP

http://radionomy.letoptop.fr/fr

5

Re: Как вывести содержимое из XML в PHP

вот дальше руками что надо

$hh = curl_init();
$url = "домен: порт";
 curl_setopt( $hh, CURLOPT_URL, $url  );
 curl_setopt( $hh, CURLOPT_RETURNTRANSFER, 1 );
$result = curl_exec( $hh );
curl_close( $hh );
$dom = new  domDocument;
$dom->loadHTML( $result );
$dom->preserveWhiteSpace = false;
$tables = $dom->getElementsByTagName( 'table' );
$rows = $tables->item( 2 )->getElementsByTagName( 'tr' );
foreach  ($rows as $row)  {
 $cols = $row->getElementsByTagName( 'td' );
 // echo  $cols->item(0)->nodeValue . ' ';
 // echo  $cols->item(1)->nodeValue . ' ';
 if   (strpos( $cols->item(0)->nodeValue, "Сейчас играет" ) !== false)  {
echo  $cols->item(1)->nodeValue;
break;
}
}

скрипт с сайта beta-radio.ru

6

Re: Как вывести содержимое из XML в PHP

Для чего городить огород с курлом, который у человека может быть и не установлен.
Можно все сделать проще:

<?php

$data=file_get_contents("http://api.radionomy.com/currentsong.cfm?radiouid=f1db3dd5-c4e3-41df-a2d1-ece1a93127d6&apikey=1ac65a51-d6e4-4975-b22c-703b926be25d&callmeback=yes&type=xml&cover=yes&previous=yes");

preg_match("|<artists>(.+?)</artists>|is", $data, $out);
echo 'Исполнитель - '.$out[1].'<br />';

preg_match("|<title>(.+?)</title>|is", $data, $out);
echo 'Композиция - '.$out[1].'<br />';

?>

Таким же образом и cover. Но он в файле пустой.

Отредактировано insun (12-03-2016 04:05:02)

7

Re: Как вывести содержимое из XML в PHP

Мое радио первый месяц вещания на https://www.radionomy.com через программу RadioBoss и сервер https://myradiostream.com нормально отображало названия песен (только англоязыные). Но в последние 2 недели звучит, но без названий. Кто знает, как лечится проблема? В общих настройках Босса - Отчеты по умолчанию HTTP уведомления ничего писать не надо?

Re: Как вывести содержимое из XML в PHP

А вы из какой страны?
Насколько мне известно, они закрылись для стран СНГ уже год назад их потоки не работают для многих слушателей.
Сам давно не проверял, но вот новость из поиска гугла:

Дорогие друзья, прежде чем вы начнёте читать текст о создании полностью бесплатного онлайн радио с автодиджеем на базе Radionomy, хочу Вас предупредить, что 10 мая 2016 года прослушивание радиостанций с данного сервиса заблокировано из некоторых стран. К сожалению, в их числе оказались Россия, Украина, Беларусь и другие государства бывшего СССР. Так что, инструкция по созданию радио на Radionomy теперь пригодится разве что русскоязычным жителям зарубежных стран.

Отредактировано Myradio24.com (13-03-2017 22:02:41)

9

Re: Как вывести содержимое из XML в PHP

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

10

Re: Как вывести содержимое из XML в PHP

Myradio24.com пишет:

А вы из какой страны?
Насколько мне известно, они закрылись для стран СНГ уже год назад их потоки не работают для многих слушателей.
Сам давно не проверял, но вот новость из поиска гугла:

Дорогие друзья, прежде чем вы начнёте читать текст о создании полностью бесплатного онлайн радио с автодиджеем на базе Radionomy, хочу Вас предупредить, что 10 мая 2016 года прослушивание радиостанций с данного сервиса заблокировано из некоторых стран. К сожалению, в их числе оказались Россия, Украина, Беларусь и другие государства бывшего СССР. Так что, инструкция по созданию радио на Radionomy теперь пригодится разве что русскоязычным жителям зарубежных стран.

Не знаю, что вы там читали, но я тоже из одной из стран СНГ и создал недавно радио в radionomy.com и могу слушать там как свое так и любые другие.
Кстати, на https://myradio24.com/ на самом деле можно создать (и круглосуточно транслировать) свое радио или и там есть "подводные камни"?

Кто знает, как отобразить обложку альбома с которого звучит текущая песня? Как это реализовано здесь http://tunein.com/radio/80s80s-Depeche-Mode-s267951/. Глянув в Информацию о странице (этого радио) можно скопировать адрес картинки и увеличить ее во весь экран.

Отредактировано Rodos (16-03-2017 08:29:47)

11

Re: Как вывести содержимое из XML в PHP

На tunein можно отправить только метаданные, смотрим здесь, а обложку они увы сами черт знает откуда берут.

12

Re: Как вывести содержимое из XML в PHP

Rodos, странно, знакомый отписал что они всё ещё блокируют некоторые страны.
У нас хостинг радио с разными тарифами, с недавнего времени есть и бесплатный тариф.
Про подводные камни не знаю что вы имеете ввиду. Напишите нам лично, ответим на все вопросы.
Обложки у нас тоже есть, но только в дорогих тарифах с АвтоDJ PRO.

13

Re: Как вывести содержимое из XML в PHP

Myradio24.com пишет:

Rodos, странно, знакомый отписал что они всё ещё блокируют некоторые страны.
У нас хостинг радио с разными тарифами, с недавнего времени есть и бесплатный тариф.
Про подводные камни не знаю что вы имеете ввиду. Напишите нам лично, ответим на все вопросы.
Обложки у нас тоже есть, но только в дорогих тарифах с АвтоDJ PRO.

На самом radionomy.com даже русские буквы блокируются. Но стоит скопировать адрес потока любого играющего на нем радио и вставить в плеер (или перекинуть его в другой сайт-каталог), то названия песен на любых языках (хоть на русском на вьетнамском или венгерском) корректно отображаются.
Что касается вашего сервера, интересует только бесплатный вариант в режиме онлайн. Но чтобы он не отдыхал по выходным (или когда пожелает) и чтобы названия песен на любых языках и обложки альбомов с которых играет  текущая песня, тоже отображались. Вообще, технологию отображения обложки альбома с котoрого играет песня (как показaл выше ссылкой) кто-нибудь знает? Если такое возможно, подам заявку о вступлении в ваш радиоклуб.

Отредактировано Rodos (16-03-2017 19:22:04)

14

Re: Как вывести содержимое из XML в PHP

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

15

Re: Как вывести содержимое из XML в PHP

Дались Вам эти обложки, вы что же думаете, они из воздуха берутся чтоли. Тут каждый делает как умеет, например если они есть в самом файле можно перед воспроизведением извлечь, дать линк. Можно обратиться к одному из api (itunes, lastfm, spotify, deezer, discogs, gracenote и тп.) и для Ваших метаданных получить картинку, можно спарсить наконец результаты поиска в google play, yandex music, да вобще откуда угодно и тоже использовать. Можно кешировать, можно хранить данные в базе, отдавать в виде json, xml, в виде готового html кода. Есть в конце концов готовые помочь сервисы вот и вот например. Поймите главное - радиохостинги не обязаны, этим заниматься, максимум что вы получите - это данные с одного - двух api, а там может быть что угодно, только не то что играет. Самый нормальный вариант - делайте сами, не можете - лучше заплатить, а чтоб просто так что-то где-то, да еще красиво - этого не будет.

16

Re: Как вывести содержимое из XML в PHP

gyurgin_ пишет:

Дались Вам эти обложки, вы что же думаете, они из воздуха берутся чтоли. Тут каждый делает как умеет, например если они есть в самом файле можно перед воспроизведением извлечь, дать линк. Можно обратиться к одному из api (itunes, lastfm, spotify, deezer, discogs, gracenote и тп.) и для Ваших метаданных получить картинку, можно спарсить наконец результаты поиска в google play, yandex music, да вобще откуда угодно и тоже использовать. Можно кешировать, можно хранить данные в базе, отдавать в виде json, xml, в виде готового html кода. Есть в конце концов готовые помочь сервисы вот и вот например. Поймите главное - радиохостинги не обязаны, этим заниматься, максимум что вы получите - это данные с одного - двух api, а там может быть что угодно, только не то что играет. Самый нормальный вариант - делайте сами, не можете - лучше заплатить, а чтоб просто так что-то где-то, да еще красиво - этого не будет.

Я конечно не собираюсь перед озвучиванием  каждой песни выгружать куда-то картинки. Но если достаточно где-то в настройках РадиоБосса прописать один раз какой-то адрес или код, то хотел-бы знать что и куда вписать. Наверное у каждого каталога есть свой api, т.е. для каждого сервера нужно один раз прописать его уникальный код. Например, для вывода названий песен на tunein.com, я вписал в Настройки - Отчеты - НТТР уведомления одну строку. А вот что надо вписать туда для отображения обложек я не знаю.
А radionomy.com тоже странный. В первые месяцы вещания отображал у себя названия треков (пусть только англоязычные), но в последний месяц названий вообще нет. Не могу понять что сбилось в настройках Босса..

Только что мне ответили с https://www.acrcloud.com

Thank you for contacting us. Sorry we don't provide the album cover. Here are the metadata we return:
https://www.acrcloud.com/docs/metadata/music/
Let us know if there is anything else we can help.

Меня перенаправили на https://www.acrcloud.com/docs/metadata/music/ Kуда вписывается код, что на странице?


{
    "status": {
        "msg": "Success",
        "code": 0,
        "version": "1.0"
    },
    "metadata": {
        "music": [
            {
                "external_ids": {
                    "isrc": "GBUM71604605",
                    "upc": "00602557484939"
                },
                "sample_begin_time_offset_ms": "0",
                "label": "(C) 2017 Lana Del Rey, under exclusive licence to Polydor Ltd. (UK). Under exclusive licence to Interscope Records in the USA",
                "external_metadata": {
                    "spotify": {
                        "album": {
                            "id": "4vwkTKo2LxoaN5o0DgbXel"
                        },
                        "artists": [
                            {
                                "id": "00FQb4jTyendYWaN8pK0wa"
                            }
                        ],
                        "track": {
                            "id": "0n2bvWvMwr0gbjcuTm92eW"
                        }
                    }
                },
                "play_offset_ms": 95980,
                "artists": [
                    {
                        "name": "Lana Del Rey"
                    }
                ],
                "sample_end_time_offset_ms": "7060",
                "release_date": "2017-02-18",
                "title": "Love",
                "db_end_time_offset_ms": "91140",
                "duration_ms": 278360,
                "album": {
                    "name": "Love"
                },
                "acrid": "ed0a804bd653b54367ac86a61ee0c778",
                "result_from": 3,
                "db_begin_time_offset_ms": "84080"
            }
        ],
        "timestamp_utc": "2017-02-28 09:00:59"
    },
    "result_type": 3
}

Отредактировано Rodos (17-03-2017 08:41:16)

17

Re: Как вывести содержимое из XML в PHP

Никуда оно не вставляется, это JSON данные которые видимо их сервис возвращает в отношении треков которые загружены к ним.

18

Re: Как вывести содержимое из XML в PHP

Myradio24.com пишет:

Никуда оно не вставляется, это JSON данные которые видимо их сервис возвращает в отношении треков которые загружены к ним.

То есть, я даю им адрес потока и они выводят все данные о песне на свой сайт?
Кстати, они мне ответили, что обложку альбома они не умеют идентифицировать и отобразить (Sorry we don't provide the album cover. Here are the metadata we return.) Даже смешно. А на кой черт тогда нужен этот сервис?

Отредактировано Rodos (17-03-2017 14:21:31)

19

Re: Как вывести содержимое из XML в PHP

Ну если нет у Вас на выходе метаданных, а очень хочется, они как shazam определяют и отдают.
Честно говоря думал что в платной подписке они и картинки могут, ан нет.

20

Re: Как вывести содержимое из XML в PHP

Rodos, я не знаю зачем нужен этот сервис, мне это не понятно, это же облако какое то.

Отредактировано Myradio24.com (17-03-2017 21:26:21)

21

Re: Как вывести содержимое из XML в PHP

Myradio24.com пишет:

Rodos, я не знаю зачем нужен этот сервис, мне это не понятно, это же облако какое то.

Вообще, они мне сказали, что зарегистрировавшись на их  сайте, пользователь может проверить работу их сервера (инфо o песне и все остальное). Может стоит их проверить?

Отредактировано Rodos (17-03-2017 22:53:39)

22

Re: Как вывести содержимое из XML в PHP

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

23

Re: Как вывести содержимое из XML в PHP

gyurgin_ пишет:

У меня, да и у многих кому я делал доставку метаданных ковры включались тут же.

Уточните через какой сервер и программу вещания у вас получалось отправить тут же обложку.

24

Re: Как вывести содержимое из XML в PHP

Да ни через какую, я Вам давал ссылку на api, вот там все прочтите, не трудно ведь? Вот пример.
Tunein покажет популярные, это не вопрос, потому и показываю олдскулл.

25

Re: Как вывести содержимое из XML в PHP

Вот смотрите - тут все всегда с картинкой, это вобще по имени делается без api.
Bigtunes в таком виде примера спецом и оставлен, хотя уже скоро будет снова жить (наседают диджеи)
На tunein в то же время показывает совершеннейший бред или ничего.