Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Разработка > Поддержка локальной разработки модулей

Ответ
 
Опции темы Опции просмотра
Старый 12.03.2014, 23:05   #1
LA_
Junior Member
 
Регистрация: 02.01.2014
Сообщений: 27
По умолчанию Скраппер для своего сайта

У меня есть свой с описаниями отдельных фильмов. Мне нужен скраппер для этого сайта. По названию файла сайт будет выдавать описание. Соответственно, поскольку это мой собственный сайт, то формат выдачи я могу сделать каким угодно (json, xml и т.п.).

Интересует вопрос - есть ли готовый скраппер, который нужно минимально переделать (название :), url и т.п.), чтобы не изобретать велосипед и максимально упростить свою работу в этой части?

Сайт сможет выдавать в т.ч. постер, url трейлера, кинопоиск id.
LA_ вне форума   Ответить с цитированием
   
Старый 13.03.2014, 11:21   #2
DiMartino
Senior Member
 
Аватар для DiMartino
 
Регистрация: 26.01.2013
Сообщений: 867
Отправить сообщение для DiMartino с помощью Skype™
По умолчанию

Если знаешь инглиш, то тебе стоит заглянуть в официальный вики Scrapers и HOW-TO:Write media scrapers.

Я мало знаком с теорией, скорее всего удобнее будет выдача в xml (с заменой спецсимволов), потому что сраппер представляет из себя набор регулярных выражений, а для json будет сложнее регулярки писать.

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

Я думаю наиболее продвинутым считается стандартный themoviedb.org, хотя и не уверен, в любом случае можешь просто открыть в редакторе его. Если хочешь посмотреть пример выдачи по фильму, то нужно включить Дебаг в Настройках-Система и запустить скраппер, но так что бы были удачные попытки, в логе останется url с api-key и запросом.
__________________
Плагин MyShows.ru (+оценка KinoPoisk.ru) для Kodi http://xbmc.ru/forum/showthread.php?t=3264
Торрент-стример Torrenter v2 http://xbmc.ru/forum/showthread.php?t=6837
DiMartino вне форума   Ответить с цитированием
Старый 13.03.2014, 11:25   #3
LA_
Junior Member
 
Регистрация: 02.01.2014
Сообщений: 27
По умолчанию

Да, вики уже читаю.
Надеялся, что есть что-то готовое

Кинопоиск id - думал как раз про ваш сервис MyShows (Service), что ему он понадобится. Но (спасибо за ответ в соотв. теме) теперь понятно, что он не нужен.

Где лучше всего (и проще) фан-арты брать? На кинопоиске их ведь нет?
LA_ вне форума   Ответить с цитированием
Старый 13.03.2014, 11:32   #4
DiMartino
Senior Member
 
Аватар для DiMartino
 
Регистрация: 26.01.2013
Сообщений: 867
Отправить сообщение для DiMartino с помощью Skype™
По умолчанию

Цитата:
Сообщение от LA_ Посмотреть сообщение
Да, вики уже читаю.
Надеялся, что есть что-то готовое

Кинопоиск id - думал как раз про ваш сервис MyShows (Service), что ему он понадобится. Но (спасибо за ответ в соотв. теме) теперь понятно, что он не нужен.

Где лучше всего (и проще) фан-арты брать? На кинопоиске их ведь нет?
Ну фан-арт это я сказал как привык в XBMC, на самом деле это обои http://www.kinopoisk.ru/film/418839/wall/ типо этих, на themoviedb.org тоже есть. Короче большая прямоугольная картинка на весь экран.
__________________
Плагин MyShows.ru (+оценка KinoPoisk.ru) для Kodi http://xbmc.ru/forum/showthread.php?t=3264
Торрент-стример Torrenter v2 http://xbmc.ru/forum/showthread.php?t=6837
DiMartino вне форума   Ответить с цитированием
Старый 14.03.2014, 14:43   #5
LA_
Junior Member
 
Регистрация: 02.01.2014
Сообщений: 27
По умолчанию

Начал писать свой скрапер и столкнулся с огромной проблемой - в скрапере не удается получить оригинальное имя файла (XBMC его предварительно "очищает" - удаляет точки, расширение, DVDRip и т.п.). Это как-то лечится?
LA_ вне форума   Ответить с цитированием
Старый 14.03.2014, 17:58   #6
DiMartino
Senior Member
 
Аватар для DiMartino
 
Регистрация: 26.01.2013
Сообщений: 867
Отправить сообщение для DiMartino с помощью Skype™
По умолчанию

Цитата:
Сообщение от LA_ Посмотреть сообщение
Начал писать свой скрапер и столкнулся с огромной проблемой - в скрапере не удается получить оригинальное имя файла (XBMC его предварительно "очищает" - удаляет точки, расширение, DVDRip и т.п.). Это как-то лечится?
Судя по моему расследованию все сводится к функции в VideoInfoScanner.cpp под названием CVideoInfoScanner::RetrieveInfoForMovie строка 549. К скрапперу ведет "FindVideo(pItem->GetMovieName(bDirNames), info2, url, pDlgProgress))" на 585, т.е. она идет к Scraper.cpp функции CScraper::FindMovie на 556. Получается из оригинального имени файла в Название превращает pItem->GetMovieName(bDirNames), соответственно это CFileItem::GetMovieName на 2552 FileItem.cpp. Дальше я копать не стал, но судя по входным данным, там нет выбора использовать Название или имя файла. Похоже что бы это исправить нужно вводить новую настройку и перекомпилировать XBMC.
По сути это правильно, потому что бывает фильм в виде образа диска, там какой-нибудь VTS_01_0.VOB, или в meta-полях контейнера скрыто нормальное название, а эта функция как раз возвращает Название фильма, а не преобразованное имя файла.
__________________
Плагин MyShows.ru (+оценка KinoPoisk.ru) для Kodi http://xbmc.ru/forum/showthread.php?t=3264
Торрент-стример Torrenter v2 http://xbmc.ru/forum/showthread.php?t=6837
DiMartino вне форума   Ответить с цитированием
Старый 14.03.2014, 18:06   #7
LA_
Junior Member
 
Регистрация: 02.01.2014
Сообщений: 27
По умолчанию

Да, я тоже немного исходники смотрел. Частично может помочь настройка через advancedsettings, но в этом случае скраппер будет работать лишь у тех, у кого такая настройка сделана (и перестанут работать другие скрапперы) - что мне совсем не нравится. Пытался на github'e зарегистрировать соответствующий запрос ("передавать имя файла в $$3 в скраппер"), но он был закрыт с комментарием, что они принимают только pull-реквесты. Но в С++ я совсем не разбираюсь ((

Upd. т.е. на самом деле не нужно вместо "названия фильма" передавать имя файла. К передающимся сейчас в $$1 названии фильма и в $$2 - году нужно добавить $$3 с именем файла.

Upd2. следующее интересное наблюдение - в output можно использовать переменную вида $INFO[language] - подставляет язык XBMC. Есть ли аналог, содержащий имя файла - пока не ясно.
Upd3. хм, нет. $INFO позволяет получать данные из настроек скрипта, т.е. мне никак не поможет.

Последний раз редактировалось LA_; 14.03.2014 в 18:48.
LA_ вне форума   Ответить с цитированием
Старый 29.04.2014, 12:03   #8
easy
Junior Member
 
Регистрация: 10.05.2010
Сообщений: 25
По умолчанию

Цитата:
Сообщение от LA_ Посмотреть сообщение
К передающимся сейчас в $$1 названии фильма и в $$2 - году нужно добавить $$3 с именем файла.
Имя файла не обязательно. Тут два выхода есть
1. Держать библиотеку в папках с названием фильма а в XBMC ставить галку "Файлы в отдельных папках с названиями фильмов". Тогда в $$1 будет название.
2. Своя база - тут и карты в руки. Сам сейчас пишу что-то подобное. У меня, к примеру, есть такая табличка
Код:
CREATE TABLE `searchindex` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `mid` int(10) unsigned NOT NULL,
  `title` varchar(255) NOT NULL,
  `originaltitle` varchar(255) NOT NULL,
  `translit` varchar(255) DEFAULT NULL,
  `badencoding` varchar(255) DEFAULT NULL,
  `year` int(10) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mid` (`mid`),
  FULLTEXT KEY `FTSEARCH` (`title`,`originaltitle`,`translit`,`badencoding`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

выгребаю оттуда mid так -
Код:
SELECT *, MATCH (title,originaltitle,translit,badencoding) AGAINST ('$query' IN BOOLEAN MODE) AS Relevance
FROM searchindex
WHERE MATCH (title,originaltitle,translit,badencoding) AGAINST ('$query' IN BOOLEAN MODE)
ORDER BY Relevance DESC, year ASC

предварительно удалив из $query (это поисковый запрос) всё кроме букв цифр и пробелов. В title,originaltitle,translit,badencoding тоже лишние символы удалены
Цитата:
Мне нужен скраппер для этого сайта. По названию файла сайт будет выдавать описание ... формат выдачи я могу сделать каким угодно (json, xml и т.п.).
Я выдаю в xml с заголовком header("Content-Type: text/xml");
А скрапер такой -
Код:
<?xml version="1.0" encoding="utf-8"?>
<scraper framework="1.1" name="Scraper v1.2" content="movies" thumb="icon.png" ServerContentEncoding="utf-8" language="ru">
    <CreateSearchUrl SearchStringEncoding="UTF-8" dest="3">
		<RegExp input="$$1" output="&lt;url&gt;http://yoursitename.org/search/\1/xml&lt;/url&gt;" dest="3">
			<expression noclean="1"/>
		</RegExp>
	</CreateSearchUrl>
	<GetSearchResults dest="8">
		<RegExp input="$$1" output="\1" dest="8">
			<expression noclean="1"></expression>
		</RegExp>
	</GetSearchResults>
	<GetDetails clearbuffers="no" dest="3">
	    <RegExp input="$$1" output="\1" dest="3">
	        <expression noclean="1"></expression>
		</RegExp>
	</GetDetails>
</scraper>
easy вне форума   Ответить с цитированием
Старый 29.04.2014, 12:08   #9
LA_
Junior Member
 
Регистрация: 02.01.2014
Сообщений: 27
По умолчанию

Это естественно, что есть множество обходных путей (я, например, в результате стал использовать nfo файлы), но все они неудобны и некрасивы. Имя файла в $$3 очень бы помогло.
LA_ вне форума   Ответить с цитированием
Старый 17.04.2016, 13:23   #10
LA_
Junior Member
 
Регистрация: 02.01.2014
Сообщений: 27
По умолчанию

Вернулся к XBMC (точнее, теперь уже к Kodi)... Передачу имени файла не реализовали?)
LA_ вне форума   Ответить с цитированием
Ответ

Метки
плагин, скраппер, шаблон
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[WIN] Скраппер муз. информации на русском языке Domingo Подсказки, описания и FAQ по XBMC 2 22.07.2014 19:34
назначение своего пункта со ссылкой на плейлист chopik Подсказки, описания и FAQ по XBMC 22 01.02.2012 19:01


Текущее время: 03:50. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.