MainRadiotalkCustom
Технологии вещания, софт, скрипты
3   •   Посмотреть все темы

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

 

3
Ivan @Ivan_Kharlov_1
Есть XML страница: **********

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

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

3
Ivan @Ivan_Kharlov_1
Пример чего я хочу получить:

727
Leff27 @Leff27
simplexml_load_string
или
simplexml_load_file

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

198
41
Руслан @sempl
вот дальше руками что надо


$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

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

<?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
95
Rodos @Rodos
Мое радио первый месяц вещания на ********** через программу RadioBoss и сервер ********** нормально отображало названия песен (только англоязыные). Но в последние 2 недели звучит, но без названий. Кто знает, как лечится проблема? В общих настройках Босса - Отчеты по умолчанию HTTP уведомления ничего писать не надо?

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

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

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

95
Rodos @Rodos
Myradio24.com пишет:

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

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


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

Кто знает, как отобразить обложку альбома с которого звучит текущая песня? Как это реализовано здесь **********. Глянув в Информацию о странице (этого радио) можно скопировать адрес картинки и увеличить ее во весь экран.

Отредактировано Rodos - 16.03.2017
419
gyurgin_ @gyurgin_
На tunein можно отправить только метаданные, смотрим **********, а обложку они увы сами черт знает откуда берут.

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

95
Rodos @Rodos
Myradio24.com пишет:

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


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

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

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

95
Rodos @Rodos
gyurgin_ пишет:

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


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

Только что мне ответили с **********

Thank you for contacting us. Sorry we don't provide the album cover. Here are the metadata we return:
**********
Let us know if there is anything else we can help.

Меня перенаправили на ********** 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
302
Support @Support
Никуда оно не вставляется, это JSON данные которые видимо их сервис возвращает в отношении треков которые загружены к ним.

95
Rodos @Rodos
Myradio24.com пишет:

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

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

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

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

Отредактировано Support - 17.03.2017