Загрузка инфы с сайта "Кинопоиск"
Re: Загрузка инфы с сайта "Кинопоиск"
Такой вопросик, если я добавляю во всю свои коллекцию теги с кинопоиска, всё ок, отображается прекрасно на всех медиа устройствах у меня, но...
Как только я вытащу жёсткий диск из компа и потом вставлю назад, всё это теряется и приходится заново прописывать, это не проблема для 10 фильмов, но при больших коллекциях это убивает.
Есть какое то решение? Спасибо
Как только я вытащу жёсткий диск из компа и потом вставлю назад, всё это теряется и приходится заново прописывать, это не проблема для 10 фильмов, но при больших коллекциях это убивает.
Есть какое то решение? Спасибо
Re: Загрузка инфы с сайта "Кинопоиск"
Надеюсь, что ветка еще жива. Возник вопрос по информации с кинопоиск.
Как я понял, вся загруженная информация сохраняется в поле Properties[mpiIMDBinfo], однако в какой-то неясной кодировке.
Есть ли возможность извлечь эту информацию в других скриптах (например, обработка ресурсов или в веб-интерфейсе) в удобочитаемом формате?
спасибо.
Как я понял, вся загруженная информация сохраняется в поле Properties[mpiIMDBinfo], однако в какой-то неясной кодировке.
Есть ли возможность извлечь эту информацию в других скриптах (например, обработка ресурсов или в веб-интерфейсе) в удобочитаемом формате?
спасибо.
Re: Загрузка инфы с сайта "Кинопоиск"
Классы для обработки только в скриптах загрузки информации из интернет баз данных, удобного доступа в других скриптах нет, но теоретически возможно,VVS1234 wrote:Надеюсь, что ветка еще жива. Возник вопрос по информации с кинопоиск.
Как я понял, вся загруженная информация сохраняется в поле Properties[mpiIMDBinfo], однако в какой-то неясной кодировке.
Есть ли возможность извлечь эту информацию в других скриптах (например, обработка ресурсов или в веб-интерфейсе) в удобочитаемом формате?
распакованная информация
Code: Select all
var
MediaItem: THmsScriptMediaItem;
...
HmsDecompressString(Copy(MediaItem.Properties[mpiIMDBInfo], 5, $FFFFFFF))
...
Code: Select all
<информация>::=<версия - I4><список элементов>
<список элементов>::=<количество элементов - I4>(<элемент>)
<элемент>::=<название - строка><значение - строка><эскиз - строка><список дочерних элементов - список элементов>
<строка>::=<количество символов - I4>(<символ>)
I4 - 4-х байтовое целое.
Re: Загрузка инфы с сайта "Кинопоиск"
Спасибо, Eugene. Работает!Eugene wrote:теоретически возможно,
распакованная информацияФормат информацииCode: Select all
var MediaItem: THmsScriptMediaItem; ... HmsDecompressString(Copy(MediaItem.Properties[mpiIMDBInfo], 5, $FFFFFFF)) ...
Code: Select all
<список элементов>::=<количество элементов - I4>(<элемент>) <элемент>::=<название - строка><значение - строка><эскиз - строка><список дочерних элементов - список элементов> <строка>::=<количество символов - I4>(<символ>) I4 - 4-х байтовое целое.
Единственно, что хотелось бы понять, это как можно конвертировать нечитаемые символы (напр., ї ) в символы формата (::=, >, и т.д.):
Code: Select all
Кинопоиск Название Игра без правил- http://st.kinopoisk.ru/images/film/448239.jpg Год 2010 Страна США, ОАЭ Слоган «Жена. Мать. Шпион.» Режиссер
Даг Лайман Сценарий9 Джез Баттеруорт, Джон-Генри Баттерворт, Джозеф Уилсон,... Продюсер/ Джез Баттеруорт, Акива Голдсман, Даг Лайман,... Оператор
Даг Лайман
Композитор Джон Пауэлл Жанр триллер, драма, биография,... Бюджет $22 000 000 Премьера (мир) 20 мая 2010,...
Премьера (РФ) 2 июня 2011, «Парадиз» Релиз на DVD 7 июля 2011, «Парадиз Медиа»,... Релиз на Blu-Ray! 28 июля 2011, «Парадиз Медиа»,... Время 108 мин./ 01:48 Рейтинг IMDB
6.80 (25 311) Описаниеї Грязные интриги Белого дома, тайны политики президента Буша, сенсационные факты о войне в Ираке… Один из самых громких политических скандалов США закручивается вокруг семьи посла Джона Уилсона и секретного агента Валери Плейм. Чтобы наказать бывшего дипломата, придавшего огласку секретным материалам, власти обвиняют его жену в шпионаже и угрожают расправой над семьей. Но Джо и Валери сломить невозможно, чтобы выжить, они готовят ответный удар. В главных ролях
Наоми Уоттс . http://www.kinopoisk.ru/images/actor/27221.jpg Шон Пенн - http://www.kinopoisk.ru/images/actor/1293.jpg Ананд Тивари 0 http://www.kinopoisk.ru/images/actor/1579692.jpg
Джессика Хехт . http://www.kinopoisk.ru/images/actor/21656.jpg Ребекка Ригг . http://www.kinopoisk.ru/images/actor/85178.jpg Брук Смит . http://www.kinopoisk.ru/images/actor/22535.jpg Томас МакКарти - http://www.kinopoisk.ru/images/actor/9215.jpg Майкл Келли . http://www.kinopoisk.ru/images/actor/20437.jpg Кристоффер Райан Уинтерс . http://www.kinopoisk.ru/images/actor/34385.jpg Шон Махон . http://www.kinopoisk.ru/images/actor/29982.jpg
Re: Загрузка инфы с сайта "Кинопоиск"
Пример для текущего файла в списке фильмов, показывает список тегов
Code: Select all
function ReadInteger(const aText: string; var aPosition: Integer): Integer;
begin
Result := Ord(aText[aPosition + 1]) + Ord(aText[aPosition + 2]) shl 8 +
Ord(aText[aPosition + 3]) shl 16 + Ord(aText[aPosition + 4]) shl 24;
aPosition := aPosition + 4
end;
function ReadString(const aText: string; var aPosition: Integer): string;
var
iLength: Integer;
begin
iLength := ReadInteger(aText, aPosition);
Result := Copy(aText, aPosition + 1, iLength);
aPosition := aPosition + iLength
end;
function ReadItems(const aText: string; aPosition: Integer): Integer;
var
i, iCount: Integer;
sName, sValue, sThumbnail, sInfo: string;
begin
Result := aPosition;
if Result < Length(aText) then begin
iCount := ReadInteger(aText, Result);
if iCount > 0 then begin
for i := 0 to iCount - 1 do begin
sName := ReadString(aText, Result);
sValue := ReadString(aText, Result);
sThumbnail := ReadString(aText, Result);
sInfo := sName + ': ' + sValue;
if Copy(sThumbnail, 1, 5) = 'http:' then
sInfo := sInfo + ': ' + sThumbnail;
ShowMessage(sInfo);
Result := ReadItems(aText, Result);
end
end
end
end;
var
iVersion, iPosition: Integer;
sImdbInfo: string;
begin
iPosition := 0;
sImdbInfo := HmsCurrentMediaListItem.Properties[mpiIMDBInfo];
if sImdbInfo <> '' then begin
sImdbInfo := HmsDecompressString(Copy(sImdbInfo, 5, $FFFFFFF));
if sImdbInfo <> '' then begin
iVersion := ReadInteger(sImdbInfo, iPosition);
if iVersion = 1 then
ReadItems(sImdbInfo, iPosition);
end
end
end.
Re: Загрузка инфы с сайта "Кинопоиск"
Огромное спасибо -- то, что нужно, и все работает.Eugene wrote:Пример для текущего файла в списке фильмов, показывает список тегов
Re: Загрузка инфы с сайта "Кинопоиск"
Хотелось бы уточнить:
1) Авто Подгрузка IMDB данных возможна только для списка внутри конкретной папки (или для списка серий эпизода). В этой связи --
а) возможно ли вызвать скрипт подгрузки из скрипта обработки ресурсов?
б) возможно ли запустить подгрузку IMDB для из нескольких папок?
2) Альтернативно: возможно ли заполнить поле Properties[mpiIMDBInfo] из скрипта обработки ресурсов?
Основная цель -- получить максимум мета-информации для большого объема медиа-ресурсов -- максимально автоматизированно.
Спасибо
1) Авто Подгрузка IMDB данных возможна только для списка внутри конкретной папки (или для списка серий эпизода). В этой связи --
а) возможно ли вызвать скрипт подгрузки из скрипта обработки ресурсов?
б) возможно ли запустить подгрузку IMDB для из нескольких папок?
2) Альтернативно: возможно ли заполнить поле Properties[mpiIMDBInfo] из скрипта обработки ресурсов?
Основная цель -- получить максимум мета-информации для большого объема медиа-ресурсов -- максимально автоматизированно.
Спасибо
Re: Загрузка инфы с сайта "Кинопоиск"
Скрипты обработки медиа-ресурсов позволяют загрузить мета-информацию из произвольного источника и запомнить в существующих свойствах или определенных пользователем, но без использования классов THmsIMDBInfo, THmsIMDBItem (доступны с версии 1.30.4).VVS1234 wrote:Хотелось бы уточнить:
1) Авто Подгрузка IMDB данных возможна только для списка внутри конкретной папки (или для списка серий эпизода). В этой связи --
а) возможно ли вызвать скрипт подгрузки из скрипта обработки ресурсов?
б) возможно ли запустить подгрузку IMDB для из нескольких папок?
2) Альтернативно: возможно ли заполнить поле Properties[mpiIMDBInfo] из скрипта обработки ресурсов?
Основная цель -- получить максимум мета-информации для большого объема медиа-ресурсов -- максимально автоматизированно.
Спасибо
Скрипты загрузки информации из интернет баз данных позволяют загрузить мета-информацию из произвольного источника и запомнить в существующих свойствах (в том числе mpiIMDBInfo) или определенных пользователем с использованием классов THmsIMDBInfo, THmsIMDBItem. Пример загрузки мета-информации для произвольного списка медиа-ресурсов - скрипт TheTVDB.com.
В скриптах можно использовать произвольные диалоговые формы (пример - http://www.homemediaserver.ru/forum/vie ... =16&t=2100).