Fix zkfm парсер.

Karambole

Новичок
Регистрация
1 Мар 2017
Сообщения
189
Реакции
137
Баллы
43
@Entrol, вот теперь заработало... Спасибо Огромное @Entrol,

Сделал опять по твоей инструкции - было как и раньше. НО когда добавил в fullstory для списка класс - class="playlist" ... то всё заработало!
У меня в fullstory список "похожих новостей" был без "класса".. т.е. было так:
[related-news]
<div class="related clrfix">
<div class="related_title">Другие песни</div>
<div class="related_news">
<ul>
{related-news}
</ul>
</div>
</div>
[/related-news]
Как только добавил:
<ul class="playlist">
{related-news}
</ul>
То сразу заработало! СПАСИБО!!!
 

yuris

Новичок
Регистрация
1 Июл 2017
Сообщения
137
Реакции
51
Баллы
28
@igrovik, @Entrol, спасибо большое за помощь. Все работает четко.
 

igrovik

Новичок
Регистрация
28 Июн 2017
Сообщения
201
Реакции
83
Баллы
28

MadPitbull

Приватовец
Приватовец
VIP
Регистрация
6 Апр 2017
Сообщения
103
Реакции
15
Баллы
18
@CanceL, Спасибо! Могу позже выложить фикс для парсинга картинок к исполнителям с last.fm. Фикс парсит картинку исполнителя с ласт.фм и добавляет (если она есть) к информации о треке в fullstory (или куда угодно) через доп. поле.
Было бы хорошо=)
 

MainC0de

Новичок
Регистрация
3 Окт 2017
Сообщения
78
Реакции
10
Баллы
8
Выложу, как обещал. Единственное - кому нужен этот фикс, получите заранее ключ api last.fm, он бессрочный, в инете найдете как. Как закончатся гости и бухло, сразу выложу. Фикс был сделан @igrovik, все лавры ему.
 

Mixis

Новичок
Регистрация
4 Апр 2017
Сообщения
55
Реакции
3
Баллы
8
X-XSS-Protection: 1; mode=block как эту хрень обойти?
 

Darkensand

VIP
VIP
Регистрация
30 Июн 2017
Сообщения
56
Реакции
4
Баллы
8
а кто знает как сделать чтоб парсер лил сразу много треков а не по 1 треку?
 

Ruhas

VIP
VIP
Регистрация
8 Фев 2018
Сообщения
340
Реакции
55
Баллы
28
Выложу, как обещал. Единственное - кому нужен этот фикс, получите заранее ключ api last.fm, он бессрочный, в инете найдете как. Как закончатся гости и бухло, сразу выложу. Фикс был сделан @igrovik, все лавры ему.
Ну чего, где фикс?)
 

MainC0de

Новичок
Регистрация
3 Окт 2017
Сообщения
78
Реакции
10
Баллы
8
Дополнение для постеров с Last.fm
В файле parser.php после кода
[HIDE="10"]if (isset($video_link)) {
$video_link = $db->safesql( $video_link );
} [/HIDE]
вставляем следующий код:
[HIDE="10"] ########## Постер исполнителя ##########
function artist_img ($url){
$page = curl_init();
curl_setopt($page,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($page,CURLOPT_URL, $url);
curl_setopt($page,CURLOPT_TIMEOUT,50);
curl_setopt($page,CURLOPT_HEADER, 0);
curl_setopt($page,CURLOPT_NOBODY, 0);
curl_setopt($page,CURLOPT_REFERER, $url);
curl_setopt($page, CURLOPT_ENCODING, "gzip, deflate");
curl_setopt($page,CURLOPT_USERAGENT, 'Mozilla/5.0');
curl_setopt($page, CURLOPT_HTTPHEADER, array(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Encoding: gzip, deflate',
'Accept-Language: ru-UA,ru-RU;q=0.9,ru;q=0.8,en-US;q=0.7,en;q=0.6',
'Connection: keep-alive',
'Host: ws.audioscrobbler.com',
'Upgrade-Insecure-Requests: 1',
));
$images_artist = curl_exec($page);
curl_close($page);
return $images_artist;
}

$url_api = artist_img('http://ws.audioscrobbler.com/2.0/?m...'&api_key='.$zkconfig['api_key'].'&lang=ru');

if(preg_match("#status=\"failed\"#is",$url,$artist)){
$poster_artist = '';

}elseif(preg_match("#<artist><name>$name</name>(.*?)<similar>#is",$url_api,$artist)){

if(preg_match('#<image size="large">(.*?)</image>#',$artist[1],$image_artist)){

$poster_artist = $image_artist[1];

}elseif(preg_match('#<image size="medium">(.*?)</image>#',$artist[1],$image_artist)){

$poster_artist = $image_artist[1];

}
}
print_r($poster_artist);
########## THE END ########## [/HIDE]

Далее чуть ниже, после $xfield_attach = $zkconfig['fields_attachment']; вставляем код
[HIDE="10"]$xfield_poster = $zkconfig['fields_poster']; [/HIDE]

и еще ниже, после $filecontents .= $xfield_mp3_url . '|' . $mp3_link . '||';
добавляем код
[HIDE="10"]if (isset($poster_artist)) {$filecontents .= $xfield_poster . '|' . $poster_artist . '||';} [/HIDE]

В файле config.php вставляем строку с вашим ключем [HIDE="10"]'api_key' => 'ключ апи ласт фм', [/HIDE]
и затем ниже вставляем строку
[HIDE="10"]'fields_poster' => 'poster', [/HIDE]

Сохраняем, идем в настройки доп. полей и добавляем поле "poster". Без кавычек, текстовое, одна строка. Сохраняем, рестартим апач. Теперь при парсинге песен, скрипт будет искать совпадения по исполнителю на last.fm. Если совпадение найдено, скрипт будет заполнять доп. поле poster в виде ссылки на картинку исполнителя. Теперь в шаблоне можете выводить картинку в любом месте тегом
<img src="[xfvalue_poster]" alt="{title}" />

P.S. Так как у многих парсер переделывался и допиливался по-разному, не факт, что это заработает у всех. У меня работает без проблем.
 

Ruhas

VIP
VIP
Регистрация
8 Фев 2018
Сообщения
340
Реакции
55
Баллы
28
Дополнение для постеров с Last.fm
В файле parser.php после кода
***Скрытый текст***
вставляем следующий код:
***Скрытый текст***

Далее чуть ниже, после $xfield_attach = $zkconfig['fields_attachment']; вставляем код
***Скрытый текст***

и еще ниже, после $filecontents .= $xfield_mp3_url . '|' . $mp3_link . '||';
добавляем код
***Скрытый текст***

В файле config.php вставляем строку с вашим ключем ***Скрытый текст***
и затем ниже вставляем строку
***Скрытый текст***

Сохраняем, идем в настройки доп. полей и добавляем поле "poster". Без кавычек, текстовое, одна строка. Сохраняем, рестартим апач. Теперь при парсинге песен, скрипт будет искать совпадения по исполнителю на last.fm. Если совпадение найдено, скрипт будет заполнять доп. поле poster в виде ссылки на картинку исполнителя. Теперь в шаблоне можете выводить картинку в любом месте тегом
<img src="[xfvalue_poster]" alt="{title}" />

P.S. Так как у многих парсер переделывался и допиливался по-разному, не факт, что это заработает у всех. У меня работает без проблем.
Api дает только постеры? Возможность на скачивание есть?
 

MainC0de

Новичок
Регистрация
3 Окт 2017
Сообщения
78
Реакции
10
Баллы
8
@Ruhas, С last.fm можно через открытый апи вытащить любую информацию об исполнителе. Постеры, биография и т.д. Но только информацию, не песню.
 
Сверху Снизу