|
izhnet
Стаж: 15 лет Сообщений: 29
|
izhnet ·
26-Дек-18 11:36
(5 лет 11 месяцев назад, ред. 29-Дек-18 22:24)
Опять сломалось? Или мне повезло? %)
Не берет информацию о создателях (режиссер, актеры и тп) с кинопоиска. upd. Отбой, кинопоиск сам починился. %)
|
|
CraZy-Greattorrent
Стаж: 15 лет 1 месяц Сообщений: 34
|
CraZy-Greattorrent ·
31-Мар-19 21:37
(спустя 3 месяца 5 дней, ред. 05-Апр-19 21:39)
Не выбирается качество видео, просто пусто, хотя в файле присутствуют множественные варианты качества видео бывает, давний глюк
|
|
G0blinNN
Стаж: 17 лет Сообщений: 814
|
G0blinNN ·
05-Апр-19 10:05
(спустя 4 дня, ред. 05-Апр-19 10:05)
усе. перестал искать. делаю релиз одного фильма. далее поиск по названию. и тишина.
отбой разобрался.
|
|
CraZy-Greattorrent
Стаж: 15 лет 1 месяц Сообщений: 34
|
CraZy-Greattorrent ·
05-Апр-19 21:40
(спустя 11 часов)
Ребят, кто нибудь починил загрузку постера и скриншотов на radikal или fastpic, поделитесь пожалуйста решением
|
|
Belbrother
Стаж: 11 лет 10 месяцев Сообщений: 157
|
Belbrother ·
19-Апр-19 22:34
(спустя 14 дней)
noorajen писал(а):
12820021
Цитата:
Если пять минут... Давай, фпирет, я засек....
А чего, свиста не умеет русский шрифт показывать?
Там нет configuration languages file, а копать там в .dll/exe... я не програмист, да и еслиб умел то в лицензии написно:
скрытый текст
Вы не можете использовать, копировать, эмулировать, клонировать, сдавать в аренду, давать напрокат, продавать, изменять, декомпилировать, дизассемблировать, передавать лицензированную Программу или ее часть иначе, чем это описано в данной лицензии.
Какой ужас! Чур меня!
|
|
eP) DENZEL (
Стаж: 14 лет 8 месяцев Сообщений: 97
|
eP) DENZEL ( ·
24-Апр-19 06:44
(спустя 4 дня, ред. 24-Апр-19 06:44)
Есть люди которые хорошо знают делфи и питон? Можете подсказать что подправить чтобы снова заработал парсер на megarelize? На данный момент не выводит список фильмов после нажатия поиска.
скрытый текст
Код:
////////////////////////////////////////////////////////////////////////////////
// Для парсинга предусмотрены следующие функции //
// //
// MyPos(sub: string; s: string; n: integer): integer; - находит подстроку //
// sub в строке s, начиная с позиции n //
// //
// CutText(str1: string; str2: string; str: string): string; - вырезает //
// подстроку из строки str, находящуюся между подстроками str1 и str2 //
// //
// Replace(Str, X, Y: string): string; - в строке Str заменяет подстроку X //
// на подстроку Y //
// //
// ParsePattern(strInput, strPattern: string; n: integer):string; - поиск по //
// шаблону //
// //
// ReplaceLetters(text: String): String; - функция замены специальных //
// символов //
// //
// DeleteLineBreaks(const S: string): string; - Удаление переносов из строки //
// //
// DecodeHTML(s: string): string; удаляет из строки html-коды //
// //
// HtmlDownload(http:string):string; - загружает html-код страницы //
// с url-адресом http //
// //
//////////////////////////////////////////////////////////////////////////////// function SearchURL(title_search:string;year_search:string):string;
begin
Result := //'http://www.kinopoisk.ru/index.php?first=no&what=&kp_query='+Replace(title_search,' ','+')+'&m_act%5Byear%5D='+year_search;
//'http://s.kinopoisk.ru/level/7/type/film/find/'+Replace(title_search,' ','+')+'/m_act[year]/'+year_search;
'http://www.kinopoisk.ru/s/type/film/list/1/find/'+URLEncode(Replace(title_search,' ','+'))+'/order/relevant/perpage/10'+'/m_act[year]/'+year_search;
//'http://www.kinopoisk.ru/index.php?level=7&from=forma&result=adv&m_act%5Bfrom%5D=forma&m_act%5Bwhat%5D=content&m_act%5Bfind%5D='+Replace(title_search,' ','+')+'&m_act%5Byear%5D='+year_search;
end; function SearchOnYear():integer;
begin
Result := 1;
end; function MediaSearch(s:string) : integer;
var
i, j, k: integer;
text: string;
LinkMovie, NameMovie, OrigNameMovie, YearMovie: array of string;
begin
k:=0;
i:=pos('<title>Результаты поиска',s);
if i>0 then
begin
i:=pos('<p class="pic"><a href="', s);
while (i>0) do
begin
try
SetLength(LinkMovie, k+1);
SetLength(NameMovie, k+1);
SetLength(OrigNameMovie, k+1);
SetLength(YearMovie, k+1);
j := MyPos('</div>', s, i+1);
text := copy(s, i, j-i-3);
LinkMovie[k]:=CutText('<a href="', 'sr/1/"', text);
NameMovie[k]:=ReplaceLetters(Replace(HTMLDecode(ParsePattern(CutText('<p class="name">', '</p>', text), '\<a.*?\>(.*?)\</a\>', 1)),' ',' '));
LinkMovie[k]:= 'http://www.kinopoisk.ru' + LinkMovie[k]+'view_info/ok/#trivia';
OrigNameMovie[k]:=ReplaceLetters(Replace(ParsePattern(CutText('<span class="gray">', '</span>', text), '(.*?), \d+ мин', 1),' ',' '));
YearMovie[k]:=CutText('<span class="year">', '</span>', text);
k:=k+1;
finally
delete(s, 1, j);
i:=pos('<p class="pic"><a href="', s);
end;
end;
Result:=k;
FoundVariant(NameMovie, OrigNameMovie, YearMovie, LinkMovie);
end
else
begin
i:=pos('<title>404: Страница не найдена - Кинопоиск.ru',s);
if i=0 then
begin
SetLength(LinkMovie, 1);
SetLength(NameMovie, 1);
SetLength(OrigNameMovie, 1);
SetLength(YearMovie, 1);
i:=pos('<div class="movie">', s); j := MyPos('Рецензии зрителей</td>', s, i+1);
//s := copy(s, i, j-i-1); LinkMovie[0]:= 'http://www.kinopoisk.ru/film/' + ParsePattern(s, 'id_film = (\d+)', 1)+'/view_info/ok/#trivia'; // Название
NameMovie[0]:=ParsePattern(s,'moviename-big".[^<>]*>\n?\r?(.*?)\</h1\>',1);
NameMovie[0]:=ReplaceLetters(NameMovie[0]);
NameMovie[0]:=DecodeHTML(NameMovie[0]); // Оригинальное название
OrigNameMovie[0]:=ParsePattern(s,'\<SPAN style=\"*?.*?#666.*?\"*?\>(.*?)\</span\>',1);
OrigNameMovie[0]:=ReplaceLetters(OrigNameMovie[0]);
OrigNameMovie[0]:=DecodeHTML(OrigNameMovie[0]); // Год
YearMovie[0]:=ParsePattern(s, 'm_act%5Byear%5D/.*?\>(.*?)\</a\>', 1); Result:=1;
FoundVariant(NameMovie, OrigNameMovie, YearMovie, LinkMovie);
end;
end;
end; procedure ParseMediaUrl(s:string);
var
i, i1, j, j1, k, k1, k2, l, n_page, m: integer;
text, text1, text2, s1: string; id, film_code, posters_url, persons_url, season_url,
s_persons , s_season : string; awards_url, s_awards : string;
name_actors, url_actor, photo_actor : string;
NumSeason, NameSeries, OrigNameSeries, YearSeries, s_posters: array of string;
begin
i:=pos('<title>404: Страница не найдена - Кинопоиск.ru',s);
if i=0 then
begin // Ссылка на кинопоиск kinopoisk
//URLKP:=ParsePattern(s, 'http://www\.kinopoisk\.ru/film/(\d+)', 0);
film_code:=cuttext('kinopoisk.ru/film/','/',s);
URLKP:='http://www.kinopoisk.ru/film/'+film_code;
id:=cuttext('var FILM_ID = ',';',s);
URLKP:='http://www.kinopoisk.ru/film/'+id; //i:=pos('<div class="shadow">', s); //j := MyPos('Рецензии зрителей</td>', s, i+1);
//s := copy(s, i, j-i-1);
s := cuttext('id="viewFilmInfoWrapper" class="clearfix">','Отзывы и рецензии зрителей',s);
// Название
Name:=ParsePattern(s,'moviename-big".[^<>]*>\n?\r?(.*?)\</h1\>',1);
Name:=ReplaceLetters(Name);
Name:=DecodeHTML(Name);
Name:=Trim(Name); // Оригинальное название
OrigName:=ParsePattern(s,'\<SPAN itemprop="?alternativeHeadline"?\>(.*?)\</span\>',1);
OrigName:=ReplaceLetters(OrigName);
OrigName:=DecodeHTML(OrigName);
OrigName:=Trim(OrigName); // Жанр
Genre:=CutText('>жанр', '</td></tr>', s);
Genre:=Replace(Genre, 'слова', '');
Genre:=DecodeHTML(Genre);
Genre:=DeleteLineBreaks(Genre);
Genre:=Replace(Genre,', ...','');
Genre:=Trim(Genre); // Год
Year:=ParsePattern(s, 'm_act%5Byear%5D/.*?\>(.*?)\</a\>', 1); // Страна
Country:=CutText('>страна', 'слоган</', s);
Country:=DecodeHTML(Country);
Country:=DeleteLineBreaks(Country);
Country:=Replace(Country,', ...','');
Country:=Trim(Country); // Описание
Description:=CutText('<span class="_reachbanner_">', '</span>', s);
Description:=ReplaceLetters(Description);
Description:=DecodeHTML(Description);
Description:=Trim(Description); // Режиссеры
Director:=CutText('режиссер</td>', '</td></tr>', s);
Director:=DecodeHTML(Director);
Director:=ReplaceLetters(Director);
Director:=Trim(Director); if SeasonIf=1 then
begin
// Загружаем страницу "Сезоны"
if film_code <> '' then
begin
season_url:='http://www.kinopoisk.ru/film/'+ film_code+'/episodes/'; m:=pos('/film/'+ film_code+'/episodes/',s);
if m>0 then
begin s_season:=HtmlDownload(season_url);
s1:=s_season; i:=pos('<table cellpadding=0 cellspacing=0 width=100%>', s1);
l:=pos('<title>404: Страница не найдена - Кинопоиск.ru',s1);
k:=0; k2:=1;
if l=0 then
begin
while (i>0) do
begin
try
k1 := MyPos('</h1>', s1, i+46);
j := MyPos('</table>', s1, i+46);
text := copy(s1, i+46, j-i-46);
i1:=pos('>Эпизод ', text);
while (i1>0) do
begin
try
SetLength(NumSeason, k+1);
SetLength(NameSeries, k+1);
SetLength(OrigNameSeries, k+1);
SetLength(YearSeries, k+1); j1 := MyPos('</tr>', text, i1+8);
text1 := copy(text, i1+8, j1-i1-8); NumSeason[k]:=IntToStr(k2);
NameSeries[k]:=CutText('<b>', '</b>', text1);
OrigNameSeries[k]:=CutText('''episodesOriginalName''>', '</span>', text1);;
YearSeries[k]:=ParsePattern(text1, 'left\"?\>(\d+.*?\w+.*?\d+)\</td\>', 1); //CutText('width="20%">', '</td>', text1);
YearSeries[k]:=ReplaceLetters(YearSeries[k]);
k:=k+1;
finally
delete(text, 1, j1+length('</tr>')-1);
i1:=pos('>Эпизод ', text);
end;
end;
finally
delete(s1, 1, j+length('</table>')-1);
i:=pos('<table cellpadding=0 cellspacing=0 width=100%>', s1);
k2:=k2+1;
end;
end;
end;
SeasonFunc(NumSeason, NameSeries, OrigNameSeries, YearSeries);
end;
end;
end; // Загружаем страницу "Создатели"
if film_code <> '' then
persons_url:='http://www.kinopoisk.ru/film/'+ film_code+'/cast/#actor';
try
s_persons:=UrlCode(persons_url,'start_list=0','end_list=2000','');
//s_persons:=HtmlDownload(persons_url);
finally // Актеры (со страницы "Создатели")
i:=pos('Актеры</div>',s_persons);
if i>0 then i:=i+12;
j:=MyPos('Наверх страницы</a>',s_persons,i);
if j<=0 then j:=MyPos('Продюсеры</div>',s_persons,i);
if j<=0 then j:=MyPos('Режиссеры дубляжа</div>',s_persons,i);
if j<=0 then j:=MyPos('Роли дублировали</div>',s_persons,i);
if j<=0 then j:=MyPos('Сценаристы</div>',s_persons,i);
if j<=0 then j:=MyPos('Операторы</div>',s_persons,i);
if j<=0 then j:=MyPos('Композиторы</div>',s_persons,i);
if j<=0 then j:=MyPos('Художники</div>',s_persons,i);
if j<=0 then j:=MyPos('Монтажеры</div>',s_persons,i);
if j<=0 then j:=MyPos('<!-- Правая сторона -->',s_persons,i);
if i>0 then s1:=copy(s_persons,i,j-i+1) else s1:='';
s1:=DeleteLineBreaks(s1); actors:='';
i:=pos('<div class="actorInfo"', s1); //<div class="name"><a href="/name/17733/">Сэм Уортингтон</a> <span class="gray">Sam Worthington</span></div>
k:=1;
while (i>0) and (k<=ActorCount) do
begin
try
j := MyPos('<div class="clear"></div>', s1, i+22);
text := copy(s1, i+22, j-i-22);
name_actors:=CutText('alt="', '"', text);
url_actor:=CutText('<a href="', '"', text);
photo_actor:=CutText('title="/images/sm_actor/', '"', text);
actors:=actors+'"'+'http://www.kinopoisk.ru'+url_actor+'='+name_actors+'"'+#13#10; NameActor:=NameActor+'"'+ParsePattern(text, '\<div class=\"name\"\>\<a href=\"/name/\d+/\"\>(.*?)\</a\>', 1)+'"'+#13#10;
OrigNameActor:=OrigNameActor+'"'+CutText('<span class="gray">', '</span>', text)+'"'+#13#10;
Character:=Character+'"'+CutText('<div class="role">... ', '</div>', text)+'"'+#13#10;
if photo_actor<>'' then
PhotoActor:=PhotoActor+'"http://st.kinopoisk.ru/images/sm_actor/'+photo_actor+'"'+#13#10
else PhotoActor:=PhotoActor+'""'+#13#10;
if url_actor<>'' then
LinkActor:=LinkActor+'"'+'http://www.kinopoisk.ru'+url_actor+'"'+#13#10
else LinkActor:=LinkActor+'""'+#13#10; finally
delete(s1, 1, j+length('<div class="clear"></div>')-1);
i:=pos('<div class="actorInfo"', s1);
end;
k:=k+1;
end; // Актеры (со страницы фильма)
if Actors='' then
begin
s1:='';
s1:=CutText('В главных ролях:</h4>', '<h4>Роли дублировали:</h4>', s);
s1:=DeleteLineBreaks(s1); actors:='';
i:=pos('/name/', s1);
while (i>0) do
begin
try
j := MyPos('/name/', s1, i+6);
text := copy(s1, i, j-i);
url_actor:=CutText('/name/', '"', s1);
photo_actor:=CutText('/name/', '/"', s1);
NameActor:=NameActor+'"'+CutText('/">', '</a>', s1)+'"'+#13#10;
if photo_actor<>'' then
PhotoActor:=PhotoActor+'"http://st.kinopoisk.ru/images/sm_actor/'+photo_actor+'"'+#13#10
else PhotoActor:=PhotoActor+'""'+#13#10;
if url_actor<>'' then
LinkActor:=LinkActor+'"'+'http://www.kinopoisk.ru'+url_actor+'"'+#13#10
else LinkActor:=LinkActor+'""'+#13#10; OrigNameActor:=OrigNameActor+'""'+#13#10;
Character:=Character+'""'+#13#10; actors:=actors+'"http://www.kinopoisk.ru/name/'+CutText('/name/', '"', s1)+'='+CutText('/">', '</a>', s1)+'"'+#13#10;;
//actors:=actors+'"http://www.kinopoisk.ru'+Replace(text,'">','=')+'"'+#13#10;
finally
delete(s1, 1, j+length('/name/'));
i:=pos('/name/', s1);
end;
end;
end;
actors:=ReplaceLetters(actors);
actors:=DecodeHTML(actors);
NameActor:=DecodeHTML(NameActor);
NameActor:=ReplaceLetters(NameActor);
OrigNameActor:=DecodeHTML(OrigNameActor);
OrigNameActor:=ReplaceLetters(OrigNameActor);
Character:=DecodeHTML(Character);
Character:=ReplaceLetters(Character);
end; // Сценаристы
Scenarist:=CutText('сценарий</td><td>', '</td></tr>', s);
Scenarist:=DecodeHTML(Scenarist);
Scenarist:=ReplaceLetters(Scenarist);
Scenarist:=Replace(Scenarist,', ...','');
//Scenarist:=DeleteLineBreaks(Scenarist);
Scenarist:=Trim(Scenarist); // Продюсер
Producer:=CutText('продюсер</td>', '</td></tr>', s);
Producer:=DecodeHTML(Producer);
Producer:=ReplaceLetters(Producer);
Producer:=Replace(Producer,', ...','');
//Producer:=DeleteLineBreaks(Producer);
Producer:=Trim(Producer); // Оператор
Operator:=CutText('оператор</td>', '</td></tr>', s);
Operator:=DecodeHTML(Operator);
Operator:=ReplaceLetters(Operator);
Operator:=Replace(Operator,', ...','');
//Operator:=DeleteLineBreaks(Operator);
Operator:=Trim(Operator); // Композитор
Composer:=CutText('композитор</td>', '</td></tr>', s);
Composer:=DecodeHTML(Composer);
Composer:=ReplaceLetters(Composer);
Composer:=Replace(Composer,', ...','');
//Composer:=DeleteLineBreaks(Composer);
Composer:=Trim(Composer); // Монтаж
Editor:=CutText('монтаж</td>', '</td></tr>', s);
Editor:=DecodeHTML(Editor);
Editor:=ReplaceLetters(Editor);
Editor:=Replace(Editor,', ...','');
//Editor:=DeleteLineBreaks(Editor);
Editor:=Trim(Editor); // Художники
Painter:=CutText('художник</td>', '</td></tr>', s);
Painter:=DecodeHTML(Painter);
Painter:=ReplaceLetters(Painter);
Painter:=Replace(Painter,', ...','');
//Painter:=DeleteLineBreaks(Painter); // Бюджет
Budget:=CutText('бюджет</td>','</td>',s);
Budget:=DecodeHTML(Budget);
Budget:=ReplaceLetters(Budget);
Budget:=Trim(Budget); // Сборы в США
ChargesUS:=CutText('сборы в США</td>', '</a>', s);
ChargesUS:=DeleteLineBreaks(ChargesUS);
ChargesUS:=DecodeHTML(ChargesUS);
ChargesUS:=ReplaceLetters(ChargesUS);
ChargesUS:=Trim(ChargesUS); // Сборы в мире
ChargesWorld:=CutText('сборы в мире</td>', '</a>', s);
ChargesWorld:=DeleteLineBreaks(ChargesWorld);
ChargesWorld:=DecodeHTML(ChargesWorld);
ChargesWorld:=ReplaceLetters(ChargesWorld);
ChargesWorld:=Trim(ChargesWorld); // Сборы в России
ChargesRF:=CutText('сборы в России</td>', '</a>', s);
ChargesRF:=DeleteLineBreaks(ChargesRF);
ChargesRF:=DecodeHTML(ChargesRF);
ChargesRF:=ReplaceLetters(ChargesRF);
ChargesRF:=Trim(ChargesRF); // Премьера (мир)
PremiereWorld:=CutText('премьера (мир)</td>', '</a>', s);
PremiereWorld:=DeleteLineBreaks(PremiereWorld);
PremiereWorld:=DecodeHTML(PremiereWorld);
PremiereWorld:=ReplaceLetters(PremiereWorld);
PremiereWorld:=Replace(PremiereWorld,' ',' ');
PremiereWorld:=Replace(PremiereWorld,', ...','');
PremiereWorld:=Trim(PremiereWorld); // Премьера (РФ)
PremiereRF:=CutText('премьера (РФ)</td>', '</a>', s);
PremiereRF:=DeleteLineBreaks(PremiereRF);
PremiereRF:=DecodeHTML(PremiereRF);
PremiereRF:=ReplaceLetters(PremiereRF);
PremiereRF:=Replace(PremiereRF,' ',' ');
PremiereRF:=Replace(PremiereRF,', ...','');
PremiereRF:=Trim(PremiereRF); // Релиз на DVD
ReleasedDVD:=CutText('релиз на DVD</td>', '</td>', s);
ReleasedDVD:=DeleteLineBreaks(ReleasedDVD);
ReleasedDVD:=DecodeHTML(ReleasedDVD);
ReleasedDVD:=ReplaceLetters(ReleasedDVD);
ReleasedDVD:=Replace(ReleasedDVD,' ',' ');
ReleasedDVD:=Replace(ReleasedDVD,', ...','');
ReleasedDVD:=Trim(ReleasedDVD); // Релиз на Blu-Ray
ReleasedBluRay:=CutText('релиз на Blu-Ray</td>', '</td>', s);
ReleasedBluRay:=DeleteLineBreaks(ReleasedBluRay);
ReleasedBluRay:=DecodeHTML(ReleasedBluRay);
ReleasedBluRay:=ReplaceLetters(ReleasedBluRay);
ReleasedBluRay:=Replace(ReleasedBluRay,' ',' ');
ReleasedBluRay:=Replace(ReleasedBluRay,', ...','');
ReleasedBluRay:=Trim(ReleasedBluRay); // Зрители
s1:='';
s1:=CutText('зрители</td>', '</tr>', s);
//s1:=DeleteLineBreaks(s1); Spectators:=''; i:=pos('<img src="', s1);
while (i>0) do
begin
try
j := MyPos('<', s1, i+1);
text := copy(s1, i, j-i+1);
Spectators:=Spectators+'"'+CutText('title="', '"', text)+'='+ParsePattern(text, ' (\d\d?\d?\.?\d?\d?\d?.*?)\<', 1)+'"'+#13#10;
finally
delete(s1, 1, j-1);
i:=pos('<img src="', s1);
end;
end;
Spectators:=Replace(Spectators,' ','');
Spectators:=Replace(Spectators,',',''); // Рейтинг kinopoisk
RatingKP:=CutText('<div class="div1">', '</div>', s);
RatingKP:=DeleteLineBreaks(RatingKP);
RatingKP:='"'+ParsePattern(RatingKP, '(\d\.\d\d\d)', 1)+'='+CutText('ratingCount">', '</span>', RatingKP)+'"';
RatingKP:=DecodeHTML(RatingKP);
RatingKP:=Replace(RatingKP,' ','');
RatingKP:=Trim(RatingKP);
if RatingKP='"='+'"' then RatingKP:='"0.000=0"'; // Рейтинг imdb
RatingIMDB:=CutText('verdana">IMDb: ', ')</div>', s);
RatingIMDB:=Replace(RatingIMDB,'(','=');
RatingIMDB:=Replace(RatingIMDB,' ','');
RatingIMDB:=Replace(RatingIMDB,' ','');
RatingIMDB:=Trim(RatingIMDB);
if RatingIMDB='' then RatingIMDB:='0.00=0'; // Рейтинг MPAA
RatingMPAA:=CutText('>рейтинг MPAA</td>', '</td>', s);
RatingMPAA:=ParsePattern(RatingMPAA, '\<img.*?alt=\"?(.*?)\"?\sborder=.*?\>', 1);
RatingMPAA:=Trim(RatingMPAA); // Ожидания
Expectation:=CutText('ожидание: ', '</div>', s);
Expectation:='"'+Replace(ParsePattern(Expectation, '(\d+%\</a\>\s?\(.*?)\)', 1),'%</a> (','=')+'"';
//Expectation:='"'+ParsePattern(Expectation, '\<a[^<>]*href=\"?.*?\"?\sstyle=[^<>]*\>(\d+)%\</a\>\s?\((\w+)\)\<a', 1)+'='+ParsePattern(Expectation, '\<a[^<>]*href=\"?.*?\"?\sstyle=[^<>]*\>(\d+)%\</a\>\s?\((\w+)\)\<a', 2)+'"';
Expectation:=Replace(Expectation,' ','');
Expectation:=Replace(Expectation,' ','');
Expectation:=Trim(Expectation); // Слоган
Slogan:=CutText('слоган</td>', '</tr>', s);
if Slogan<>'-' then begin
Slogan:=DeleteLineBreaks(Slogan);
Slogan:=DecodeHTML(Slogan);
Slogan:=ReplaceLetters(Slogan);
Slogan:=Trim(Slogan); end else Slogan:=''; // Знаете ли вы, что...
s1:='';
s1:=CutText('<ul class="trivia trivia_slide">', '</ul>', s);
s1:=DeleteLineBreaks(s1); i1:=pos('<li class="trivia', s1);
i := MyPos('>', s1, i1+17);
while (i>0) do
begin
try
j := MyPos('</li>', s1, i);
text := copy(s1, i+1, j-i-1);
text :=Trim(text);
text :=MarkerKnowThat+' '+text;
KnowThat:=KnowThat+text+#13#10#13#10;
finally
delete(s1, 1, j+5);
i1:=pos('<li class="trivia', s1);
if i1>0 then i := MyPos('>', s1, i1+17) else i:=0;
end;
end;
KnowThat:=DecodeHTML(KnowThat);
KnowThat:=ReplaceLetters(KnowThat);
KnowThat:=Trim(KnowThat); // Награды
if AwardsIf=1 then
begin
// Загружаем страницу "Сезоны"
if film_code <> '' then
begin
awards_url:='http://www.kinopoisk.ru/film/'+ film_code+'/awards/'; m:=pos('/film/'+ film_code+'/awards/',s);
if m>0 then
begin s_awards:=HtmlDownload(awards_url);
s1:=s_awards; i:=pos('<table cellspacing=0 cellpadding=0 border=0 width=100%>', s1);
if i<>0 then
begin
k1 := length('<table cellspacing=0 cellpadding=0 border=0 width=100%>')+1;
j := MyPos('Смотрите также:</span>', s1, i+k1);
Awards := copy(s1, i+k1, j-i-k1);
end;
Awards:=DeleteLineBreaks(Awards);
Awards:=Replace(Awards,#9,'');
Awards:=Replace(Awards,'<li class="trivia">',MarkerKnowThat+' ');
Awards:=Replace(Awards,'</li>',#13#10);
Awards:=Replace(Awards,'<br>',#13#10);
Awards:=Replace(Awards,'<b>',#13#10);
Awards:=Replace(Awards,'<br />',#13#10);
Awards:=Replace(Awards,'<ul class="trivia">',#13#10);
Awards:=Replace(Awards,' ',''); Awards:=Replace(Awards,' ','');
Awards:=DecodeHTML(Awards);
Awards:=ReplaceLetters(Awards);
Awards:=Trim(Awards);
end;
end;
end; // Загружаем страницу с постерами
if id <> '' then
posters_url:='http://www.kinopoisk.ru/film/'+ id +'/posters/'; m:=pos('/film/'+ id+'/posters/',s);
if m>0 then
begin SetLength(s_posters, 1);
s_posters[0]:=HtmlDownload(posters_url);
text:=ParsePattern(s_posters[0], '\"?/film/'+id+'/posters/page/(\d+)/\"?\>»»\</a\>', 1);
if text<>'' then
begin
n_page:=StrToInt(text);
SetLength(s_posters, n_page);
for i:=1 to n_page-1 do
s_posters[i]:=HtmlDownload('http://www.kinopoisk.ru/film/'+film_code+'/posters/page/'+IntToStr(i+1)+'/');
end; // Постеры
posters:='';
for i1:=0 to Length(s_posters)-1 do
begin
i:=pos('Информация o', s_posters[i1]);
j:=MyPos('Навигация по базе постеров', s_posters[i1], i+12);
if i>0 then s1:=copy(s_posters[i1],i+12,j-(i+12)) else s1:='';
s1:=DeleteLineBreaks(s1); i:=pos('/images/poster/sm_', s1);
while (i>0) do
begin
try
j := MyPos('"', s1, i+18);
k1 := MyPos('<i>', s1, j+1);
k2 := MyPos('</i>', s1, k1+3);
text1 := copy(s1, i+18, j-i-18);
text2 := copy(s1, k1+3, k2-k1-3);
posters:=posters+'"http://st.kinopoisk.ru/images/poster/'+text1+'='+text2+'"'+#13#10;;
finally
delete(s1, 1, k2+length('</i>'));
i:=pos('/images/poster/sm_', s1);
end;
end;
end;
//posters:=Replace(posters,'_imp_','');
posters:=ReplaceLetters(posters); end;
end; end; begin
end.
|
|
s1nka
Стаж: 17 лет 1 месяц Сообщений: 1450
|
s1nka ·
26-Апр-19 18:36
(спустя 2 дня 11 часов)
eP) DENZEL (
А есть исходники на нормальном хостинге(например github) в полном объеме?
|
|
eP) DENZEL (
Стаж: 14 лет 8 месяцев Сообщений: 97
|
eP) DENZEL ( ·
01-Май-19 09:01
(спустя 4 дня, ред. 02-Сен-19 17:11)
s1nka
К сожалению нет. Нашёл в чём траблы, но вот как его исправить пока не понял. Вот к примеру если я этот файл делаю в кодировке utf8 он парсит всё как нужно, но вот в программу заносит вместо Русских букв иероглифы. Исходников самой проги нет( Нужно как то прописать в этом файле чтобы он парсил в кодировке utf8, а вот в прогу вносил в cp1251.
|
|
izhnet
Стаж: 15 лет Сообщений: 29
|
izhnet ·
13-Июл-19 16:33
(спустя 2 месяца 12 дней)
Отметил, что в поле Жанр фильма теперь берется с кинопоиска только первый жанр, остальные не вставляет.
|
|
CraZy-Greattorrent
Стаж: 15 лет 1 месяц Сообщений: 34
|
CraZy-Greattorrent ·
20-Июл-19 17:17
(спустя 7 дней)
izhnet писал(а):
77665641Отметил, что в поле Жанр фильма теперь берется с кинопоиска только первый жанр, остальные не вставляет.
Да, поле в Страна тоже самое
|
|
Bloomsbury
Стаж: 14 лет 10 месяцев Сообщений: 899
|
Bloomsbury ·
01-Сен-19 12:39
(спустя 1 месяц 11 дней)
Скачал указанный тут файл DlgSearch.frf с исправлениями. При щелчке по «Релиз одного фильма» выдает такие ошибки:
Цитата:
Error [Error] DlgSearch.frf (81:28): Unknown identifier 'DeleteUglyStr'
Error [Error] SingleMovie.frs (25:2): Unit 'DlgSearch' not found or contains errors
Далее еще раз поменял содержимое файла файле DlgSearch.frf как указано тут - ошибки остались те же.
Указанный тут вариант всей программы не пробовал.
Работает сейчас эта программа? Поделитесь рабочим вариантом файла DlgSearch.frf с правильными исправлениями
|
|
Stalker oK
Стаж: 14 лет 9 месяцев Сообщений: 2084
|
Stalker oK ·
01-Сен-19 13:09
(спустя 29 мин.)
Bloomsbury,
SingleMovie.frs
Код:
//==================================================================================================
// ID = 0FBBEFC3-E0EC-431F-8D59-EC4115B2505E
// Caption = Релиз одного фильма
// Description = Сценарий создания описания для одного фильма путём импортирования информации с сайта kinopoisk.ru
// Author = fd00ch
// Version = 0.9
// Required = 0.8
// Visible = 1
// Compiled = 0
// Help = http://flashrelease.ru/scripts/main/torrentpier-singlemovie.html
// Forum = http://flashrelease.ru/forum/viewforum.php?f=31
// Icon = movie.ico
// Logo = movie.png
//================================================================================================== program SingleMovie; uses
Options ,
ScriptTypes,
ScriptUtils, DlgSearch ,
DlgSearchIMDB,
DlgPreview ,
DlgPoster ,
DlgScreens ,
DlgTechInfo,
DlgTemplate, CommonUtils ,
CreateHelpers,
GlobalConsts ,
MediaInfo ; const
PAGE_NONE = -1;
PAGE_SEARCH = 0;
PAGE_SEARCHIMDB = 1;
PAGE_PREVIEW = 2;
PAGE_POSTER = 3;
PAGE_SCREENS = 4;
PAGE_TECH_INFO = 5;
PAGE_TEMPLATE = 6;
PAGE_TORRENT = 7; //==================================================================================================
// Процедура, обновляющая видимую страницу на главной форме в зависимости от переменной Page
//==================================================================================================
procedure UpdateForm;
begin
UpdatePage(Page=PAGE_SEARCH, DlgSearch, @CreateDlgSearch, @UpdateDlgSearch);
UpdatePage(Page=PAGE_SEARCHIMDB, DlgSearchIMDB, @CreateDlgSearchIMDB, @UpdateDlgSearchIMDB);
UpdatePage(Page=PAGE_PREVIEW, DlgPreview, @CreateDlgPreview, @UpdateDlgPreview);
UpdatePage(Page=PAGE_POSTER, DlgPoster, @CreateDlgPoster, @UpdateDlgPoster);
UpdatePage(Page=PAGE_SCREENS, DlgScreens, @CreateDlgScreens, @UpdateDlgScreens);
UpdatePage(Page=PAGE_TECH_INFO, DlgTechInfo, @CreateDlgTechInfo, @UpdateDlgTechInfo);
UpdatePage(Page=PAGE_TEMPLATE, DlgTemplate, @CreateDlgTemplate, @UpdateDlgTemplate)
end; //==================================================================================================
// Процедура для установки следующей страницы
//==================================================================================================
procedure SetNextPage;
begin
//if Page=1 then Page:=3; case Page of
PAGE_SEARCH:
begin
CreateDlgPreview;
FillPreview;
end;
PAGE_PREVIEW:
IF MAKE_KP_RATING_IMAGES THEN CreateRatingImages;
PAGE_SCREENS:
UploadImages;
end; Inc(Page);
//if Page=4 then Page:=5;
//if Page=2 then Page:=4;
// Обновление диалоговой формы
//if Page=5 then
//MsgEx(IntToStr(Page), MB_OK or MB_ICONINFORMATION, 'Информация1', MainForm.Handle);
UpdateForm
//if Page=5 then
//MsgEx(IntToStr(Page), MB_OK or MB_ICONINFORMATION, 'Информация2', MainForm.Handle);
end; //==================================================================================================
// Процедура для установки предыдущей страницы
//==================================================================================================
procedure SetPrevPage;
begin
Dec(Page); // Обновление диалоговой формы
UpdateForm
end; var i:integer;
begin
Page:=PAGE_NONE;
HTTP:=THTTPSend.Create;
HTTP.Cookies.Text:=DecodeBase64(XMLReadStr('', 'Cookies', ''));
try
SetNextPage;
repeat
case GetPressedButton of
BUTTON_CANCEL: Page:=PAGE_NONE;
BUTTON_FINISH: begin i:=MsgEx('Вы точно хотите завершить работу мастера?', MB_YESNO or MB_ICONQUESTION, 'Стой, кто идет?', MainForm.Handle);
//MsgEx(IntToStr(i), MB_OK or MB_ICONINFORMATION, 'Информация1', MainForm.Handle);
if i=6 then Page:=PAGE_NONE;
end;
//
BUTTON_NEXT: SetNextPage;
BUTTON_PREV: SetPrevPage
end
until Page=PAGE_NONE;
finally
//XMLWriteStr('', 'Cookies', EncodeBase64(HTTP.Cookies.Text)); FreeAndNil(HTTP);
FreeAndNil(Translates);
Balloon.CancelHint;
ClearTemp; FreeDlgSearch;
FreeDlgSearchIMDB;
FreeDlgPreview;
FreeDlgPoster;
FreeDlgTechInfo;
FreeDlgScreens;
FreeDlgTemplate
end
end.
DlgSearch.frf
Код:
unit DlgSearch; uses
ScriptTypes
,ScriptUtils
,CreateHelpers
,CommonUtils ;
//,
//ShellAPI ; const
COLUMN_RUS_NAME = 0;
COLUMN_ORIG_NAME = 1;
COLUMN_YEAR = 2;
COLUMN_RATING = 3; Host = 'http://www.kinopoisk.ru/';
MagicStr = '<p class="name"><a href="/level/1/film/'; //==================================================================================================
// Функция проверяет правильность введённых данных и определяет возможность перехода на следующую страницу
//==================================================================================================
procedure DlgSearchCheck(Sender: TObject);
begin
TAction(Sender).Enabled:=Movies.SelectedCount=1
end; //==================================================================================================
// Процедура обновляет и показывает страницу DlgSearch
//==================================================================================================
procedure UpdateDlgSearch;
begin
MainForm.SetButtonsState(True, False, True, False);
MainForm.ActNext.OnUpdate:=@DlgSearchCheck;
DlgSearch.Show;
SetFocus(SearchName)
end; //==================================================================================================
// Процедура, вычленяющая информацию о фильме из HTML-кода и добавляющая строку в список Movies
//==================================================================================================
procedure AddMovie(const RawStr: WideString);
var
Index: Integer;
nextStop: WideString;
s: string;
begin
Index:=GetArrayLength(SearchRes);
SetArrayLength(SearchRes, Index+1); SearchRes[Index].ID:=Parse(RawStr, '/');
Parse(RawStr, '>');
SearchRes[Index].RusName:=CleanHTMLText(ParseEx(RawStr, '</a>')); if Pos('class="year">', RawStr)>0
then begin
ParseEx(RawStr, 'class="year">')
nextStop:='</span>'
if Pos(' ',RawStr) < Pos('</span>', RawStr)
then begin
nextStop:=' '
end;
SearchRes[Index].Year:=StrToIntDef(ParseEx(RawStr, nextStop), -1)
end
else if Pos('class="continue">', RawStr)>0
then begin
ParseEx(RawStr, 'class="continue">');
SearchRes[Index].Year:=StrToIntDef(ParseEx(RawStr, '</a>'), -1)
end; ParseEx(RawStr, '"gray">');
///ParseEx(RawStr, '">');
// SearchRes[Index].OrigName:=DeleteUglyStr(CleanText(ParseEx(RawStr, '</span>')));
s:=DeleteUglyStr(CleanText(ParseEx(RawStr, ',')));
if Pos('мин', s)>0 then
begin
SearchRes[Index].OrigName:= '';
end
else
begin
SearchRes[Index].OrigName:= s;
end;
ParseEx(RawStr, '"rating');
ParseEx(RawStr, '>');
SearchRes[Index].Rating:=Parse(RawStr, '<');
Movies.AddItem(Index)
end; //==================================================================================================
// Обработчик нажатия кнопки "Искать...", поиск фильма на сайте kinopoisk.ru и заполнение списка
// Movies результатами поиска
//==================================================================================================
procedure SearchClick(Sender: TObject);
var
RawStr: WideString;
counter : Integer;
begin
counter:=0;
{
MakeAStringlistAndSaveThat('C:\temp\page.html',SearchName.Text); if (Pos('https://www.kinopoisk.ru/film/', SearchName.Text)=1)
OR (Pos('https://kinopoisk.ru/film/', SearchName.Text)=1)
OR (Pos('https://www.kinopoisk.ru/level/1/film/', SearchName.Text)=1)
OR (Pos('https://kinopoisk.ru/level/1/film/', SearchName.Text)=1)
then begin
RawStr:=SearchName.Text; ParseEx(RawStr, '/film/'); ResMovieID:=Parse(RawStr, '/'); if ResMovieID<>''
then begin
PressButton(BUTTON_NEXT);
Exit
end
end; } if Trim(SearchName.Text)=''
then begin
Balloon.ActivateHintEx(SearchName, 'Название не задано', 'Перед поиском фильма следует ввести его название', 5000, bikInformation, -1);
SetFocus(SearchName);
Exit
end; ShowDownloadProgress('Поиск фильма на сайте');
try
RawStr:=LoadPageContent('https://www.kinopoisk.ru/index.php?first=no&what=&kp_query='+EncodeURL(SearchName.Text));
finally
HideDownloadProgress;
end;
Movies.DeleteAllItems;
//MakeAStringlistAndSaveThat('C:\temp\page.html',RawStr);//debug
// if Pos('/film/', RawStr)>0
// then // В полученных заголовках находится непосредственно ссылка на страницу с фильмом
// begin // ParseEx(RawStr, '/film/');
// ResMovieID:=StrToIntDef(Parse(RawStr, '/'), -1);
// if ResMovieID<>-1
// then begin
// PressButton(BUTTON_NEXT);
// Exit
// end
// end
// else //RawStr:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size);
//ShellExecute(0, 'OPEN', PChar('https://www.kinopoisk.ru/index.php?first=no&what=&kp_query='+EncodeURL(SearchName.Text)), '', '', SW_SHOWNORMAL);
ParseEx(RawStr, MagicStr);
while RawStr<>''
do
AddMovie(ParseEx(RawStr, MagicStr));
SetFocus(Movies);
if Movies.Count>0
then Movies.SelectedID[0]:=True
else begin
Balloon.ActivateHintEx(SearchName, 'Ничего не найдено', 'К сожалению, по вашему запросу ничего не найдено. Попробуйте изменить ключевые слова', 5000, bikInformation, -1);
SetFocus(SearchName)
end;
end; //==================================================================================================
// Обрабтчик события, вызываемого при двойном клике мыши на списке Movies
//==================================================================================================
procedure MoviesDblClick(Sender: TObject);
var i: Integer;
begin PressButton(BUTTON_NEXT)
end; //==================================================================================================
// Обработчик, вызываемый для получения текстовой информации для отображения строки в списке Movies
//==================================================================================================
procedure MoviesGetItemText(Sender: TVirtualList; Column: TColIndex; ID: TItemID; Index: TItemIndex; var Text: WideString);
begin
case Column of
COLUMN_RUS_NAME:
if SearchRes[ID].RusName<>''
then Text:=SearchRes[ID].RusName;
COLUMN_ORIG_NAME:
if SearchRes[ID].OrigName<>''
then Text:=SearchRes[ID].OrigName;
COLUMN_YEAR:
if SearchRes[ID].Year>1890
then Text:=IntToStr(SearchRes[ID].Year);
COLUMN_RATING:
Text:=SearchRes[ID].Rating;
end
end; //==================================================================================================
// Процедура, создающая диалог и элементы управления
//==================================================================================================
procedure CreateDlgSearch;
var
Panel: TPanel;
begin
DlgSearch:=CreateEmbeddedPage; with CreateLabel(DlgSearch, 0, 0, 0, 25, alTop, 'Импортирование информации о фильме с kinopoisk.ru - Предварительный поиск фильма')
do begin
Alignment:=taCenter;
Font.Style:=[fsBold];
end; CreateLabel(DlgSearch, 0, 0, 0, 30, alTop, 'Введите название фильма (оригинальное или русское) и нажмите кнопку "Искать"').Layout:=tlCenter; Panel:=CreatePanel(DlgSearch, 0, 0, 0, 25, alTop);
CreateLabel(Panel, 0, 0, 120, 0, alLeft, 'Название фильма').Layout:=tlCenter;
SearchName:=CreateEdit(Panel, 0, 0, 0, 0, alClient);
with SearchName
do begin
Margins.Top:=2;
Margins.Right:=10;
Margins.Bottom:=2;
AlignWithMargins:=True
end;
with CreateButton(Panel, 0, 0, 100, 0, alRight, 'Искать...')
do begin
OnClick:=@SearchClick;
Default:=True
end; CreateLabel(DlgSearch, 0, 200, 0, 30, alTop, 'В случае удачного поиска выделите строку с нужным фильмом и нажмите кнопку "Далее"').Layout:=tlCenter; Movies:=TVirtualList.Create(DlgSearch);
with Movies
do begin
Parent:=DlgSearch;
Align:=alClient;
OnDblClick:=@MoviesDblClick;
OnGetItemText:=@MoviesGetItemText;
end;
AddColumn(Movies, COLUMN_RUS_NAME, 'Русское название', 250, taLeftJustify);
AddColumn(Movies, COLUMN_ORIG_NAME, 'Оригинальное название', 250, taLeftJustify);
AddColumn(Movies, COLUMN_YEAR, 'Год выпуска', 85, taRightJustify);
AddColumn(Movies, COLUMN_RATING, 'Рейтинг КП', 85, taRightJustify)
end; //==================================================================================================
// Процедура, уничтожающая диалог, элементы управления и созданные объекты
//==================================================================================================
procedure FreeDlgSearch;
begin
FreeAndNil(DlgSearch)
end; end.
|
|
Bloomsbury
Стаж: 14 лет 10 месяцев Сообщений: 899
|
Bloomsbury ·
01-Сен-19 14:58
(спустя 1 час 48 мин.)
Stalker oK, заменил два указанных файла - ошибки тоже изменились:
Цитата:
Error [Error] DlgSearch.frf (51:42): Type mismatch
Error [Error] SingleMovie.frs (23:1): Unit 'DlgSearch' not found or contains errors
Поделитесь рабочей версией программы - выложите куда-нибудь ее
|
|
Stalker oK
Стаж: 14 лет 9 месяцев Сообщений: 2084
|
Stalker oK ·
01-Сен-19 15:08
(спустя 9 мин.)
Bloomsbury, должно работать
Последняя версия проги тут https://yadi.sk/d/VcB0kb1R3ZAkvw
Загрузка изображений не работает, как и много чего ещё, для этих целей лучше использовать Image Uploader http://zenden2k.com/ru/imageuploader_nightly
|
|
Bloomsbury
Стаж: 14 лет 10 месяцев Сообщений: 899
|
Bloomsbury ·
01-Сен-19 16:00
(спустя 52 мин.)
Stalker oK, поставил эту прогу, затем заменил в файле DlgSearch.frf содержание на указанное выше - начал работать поиск фильмов.
Заем выше приведен еще один файл SingleMovie.frs - не понял. Что с ним и зачем делать?
|
|
Stalker oK
Стаж: 14 лет 9 месяцев Сообщений: 2084
|
Stalker oK ·
01-Сен-19 16:51
(спустя 50 мин., ред. 01-Сен-19 16:51)
Bloomsbury, это было на всякий случай, тк в логе ошибок фигурирует 2 файла. Если всё работает, ничего делать не надо.
Моё оформление, может быть кому нибудь пригодится. Ложить в папку "Flash Release\modules\scripts\resources\TorrentPier\SingleMovie\FormatTemplates"
rutr.life.tpl
Код:
//==================================================================================================
// Information
// Автор шаблона = stalkerok
// Description = Шаблон оформления для трекера rutr.life
// ImageTag = [url=%ImageURL%][img]%ThumbURL%[/img][/url]%Space%
//================================================================================================== //==================================================================================================
// SubjectTemplate
// ColumnMode = 0
//================================================================================================== %MixedTitle% (%Directors%) [%Year%, %Country%, %GenresLimited%, %Quality%] Dub + Original (eng) + Sub (rus, eng) //==================================================================================================
// MovieTemplate
// DoYouKnowThingItem = [*]%Str%%Br%
//================================================================================================== [align=center][size=24][color=olive][b]%RusTitle%[/b][/color][/size]
[size=18][color=#996600][b]%OrigTitle%[/b][/color][/size]
%Br%
[size=14][i]%Slogan%[/i][/size]
%Br%
[img]http://i6.imageban.ru/out/2017/09/18/2ff75c0c358795c5946784cc1680714d.png[/img][/align]
%Br% %Br%
[b]Страна[/b]: %Country%
[b]Жанр[/b]: %Genres%
[b]Год выпуска[/b]: %Year%
[b]Продолжительность[/b]: %Duration%
%Br%
[b]Перевод[/b]: %Translation%
[b]Субтитры[/b]: русские (форсированные, полные), английские (полные, SDH), нет
[b]Оригинальная аудиодорожка[/b]: английский, нет
%Br%
[b]Режиссер[/b]: %Directors%
%Br%
[b]В ролях[/b]: %Actors%
%Br%
[b]Описание[/b]: %Description%
%Br%
[url=%][img]https://static.rutr.life/pic/buttons/imdb.png[/img][/url] [url=http://www.kinopoisk.ru/film/%KPMovieIndex%][img]http://www.kinopoisk.ru/rating/%KPMovieIndex%.gif[/img][/url]
%Br%
[b]Релиз[/b]:
%Br%
[b][url=%]Сэмпл[/url][/b]
%Br%
[b]Качество видео[/b]: %Quality% | Исходник: %Source%
[b]Формат видео[/b]: %Format%
[b]Видео кодек[/b]: %VideoCodecs%
[b]Аудио кодек[/b]: %AudioCodecs%
%VideoInfo%
%AudioInfo%
[b]Навигация по главам[/b]: %Chapters%
%Br%
[spoiler="MediaInfo"]
%MI%
[/spoiler] [spoiler="Скриншоты"]
[align=center]
%Br%
[/align]
[/spoiler]
%Br%
[align=center][img]http://i1.imageban.ru/out/2017/09/18/5a7d01571b4d14aa2db388e39ff573f0.png[/img][/align] //==================================================================================================
// VideoTemplate
// Title = [b]Видео%StreamIndex%[/b]:%space%
// ColumnMode = 0
// Separator = ,%space%
//================================================================================================== %Format%
%Bitrate% Кбит/сек
%Width%x%Height% (%DisplayAspectRatio%)
%FrameRate% кадр/сек //==================================================================================================
// AudioTemplate
// Title = [b]Аудио%StreamIndex%[/b]:%space%
// ColumnMode = 0
// Separator = ,%space%
//================================================================================================== %Format%
%Bitrate% Кбит/сек
%SamplingRate% КГц
%Channels2% - %Language% //==================================================================================================
// SubtitleTemplate
// Title =
//[b]Субтитры%StreamIndex%: [/b]
// ColumnMode = 0
// Separator =
//================================================================================================== %Language%
%space%(%title%)
,%space%
//%Language% //==================================================================================================
// DirectorTemplate
// Separator = ,%space%
//================================================================================================== %RusName%
%space%/%space%%EngName% //==================================================================================================
// WriterTemplate
// Separator = ,%space%
//================================================================================================== %RusName%
%space%/%space%%EngName% //===================================================================================================
// ProducerTemplate
// Separator = ,%space%
//================================================================================================== %RusName%
%space%/%space%%EngName% //==================================================================================================
// OperatorTemplate
// Separator = ,%space%
//================================================================================================== %RusName%
%space%/%space%%EngName% //==================================================================================================
// ComposerTemplate
// Separator = ,%space%
//================================================================================================== %RusName%
%space%/%space%%EngName% //==================================================================================================
// ActorTemplate
// Separator = ,%space%
//================================================================================================== %RusName% //==================================================================================================
// Actor2Template
// Separator = %space%
//================================================================================================== [url=%URL%][img]%ImageSmall%[/img][/url] //==================================================================================================
// DoubleTemplate
// Separator = ,%space%
//================================================================================================== %RusName%
%space%(%Role%)
и ещё пару файлов с настройками, папка "Flash Release\modules\scripts\resources\TorrentPier\SingleMovie\TechInfoTemplates"
VideoQualityTypes.tpl
Код:
WEB-DLRip-AVC
HDRip-AVC
BDRip-AVC
DVDRip-AVC
WEBRip-AVC
HDTVRip-AVC WEB-DLRip
HDRip
BDRip
DVDRip
WEBRip
HDTVRip Blu-ray
BD Remux
BDRip 1080p
BDRip 720p
WEB-DL 1080p
WEB-DL 720p
TranslateTypes.tpl
Код:
Не требуется
Профессиональный (полное дублирование) [Blu-ray EUR]
Профессиональный (полное дублирование) [iTunes]
Профессиональный (полное дублирование) []
Профессиональный (многоголосый, закадровый) []
Любительский (двухголосый, закадровый) []
Любительский (многоголосый, закадровый) []
Авторский (одноголосый, закадровый) []
Субтитры ()
Естественно всё доводить ручками, добавлять/убирать.
|
|
ник2388
Стаж: 13 лет 5 месяцев Сообщений: 80
|
ник2388 ·
02-Май-20 21:49
(спустя 8 месяцев)
|
|
izhnet
Стаж: 15 лет Сообщений: 29
|
izhnet ·
03-Июн-20 18:23
(спустя 1 месяц)
Опять сломался поиск по Кинопоиску.
|
|
Stalker oK
Стаж: 14 лет 9 месяцев Сообщений: 2084
|
Stalker oK ·
03-Июн-20 20:21
(спустя 1 час 57 мин.)
izhnet, в DlgSearch.frf измените строчку
MagicStr = '<p class="name"><a href="/level/1/film/';
на
MagicStr = '<p class="name"><a href="/film/';
Возможно где-то ещё что-то менял, уже не помню, пробуйте, у меня всё работает.
Помните, кинопоиск блокирует парсер, так что нужно ждать пол часа-час до следующего использования программы, и желательно прокси использовать.
|
|
izhnet
Стаж: 15 лет Сообщений: 29
|
izhnet ·
03-Июн-20 20:38
(спустя 17 мин.)
Stalker oK писал(а):
79563567izhnet, в DlgSearch.frf измените строчку
MagicStr = '<p class="name"><a href="/level/1/film/';
на MagicStr = '<p class="name"><a href="/film/';
Возможно где-то ещё что-то менял, уже не помню, пробуйте, у меня всё работает.
Помните, кинопоиск блокирует парсер, так что нужно ждать пол часа-час до следующего использования программы, и желательно прокси использовать.
Спасибо! Поиск заработал.
|
|
izhnet
Стаж: 15 лет Сообщений: 29
|
izhnet ·
13-Июл-20 17:47
(спустя 1 месяц 9 дней)
Кинопоиск переделали в очередной раз. И парсер у FR перестал работать.
|
|
Stalker oK
Стаж: 14 лет 9 месяцев Сообщений: 2084
|
Stalker oK ·
13-Июл-20 20:13
(спустя 2 часа 26 мин.)
izhnet, пару полей нужно вписать вручную, а так всё работает.
|
|
izhnet
Стаж: 15 лет Сообщений: 29
|
izhnet ·
15-Июл-20 21:21
(спустя 2 дня 1 час)
Stalker oK писал(а):
79765070izhnet, пару полей нужно вписать вручную, а так всё работает.
У меня при парсере заполняется только поля Оригинальное название, Режиссер, Сценарист, Оператор, Композитор, Актеры, Роли дублировали... А все остальное пусто.
|
|
Stalker oK
Стаж: 14 лет 9 месяцев Сообщений: 2084
|
Stalker oK ·
15-Июл-20 22:29
(спустя 1 час 7 мин.)
izhnet, у меня тоже, поля русское название, год, страна, жанр, слоган, описание можно заполнить вручную.
|
|
@BZzz@
Стаж: 14 лет 7 месяцев Сообщений: 14
|
@BZzz@ ·
10-Сен-20 12:22
(спустя 1 месяц 25 дней)
Опять чего-то поломалось
Код:
Info Список сценариев загружен. Пропущенных сценариев: 0, скрытых: 0
Info [Hint] MediaInfo.fru (660:3): Variable 'I' never used
Info [Hint] MediaInfo.fru (660:3): Variable 'J' never used
Info [Hint] DlgSearch.frf (177:5): Variable 'I' never used
Info [Hint] DlgPoster.frf (98:3): Variable 'PAGECONTENT' never used
Info Сценарий "SingleMovie" откомпилирован за 156 мсек.
Error Во время выполнения сценария произошла ошибка: Exception: WinHttp.WinHttpRequest: Символ Юникода не имеет сопоставления в конечной многобайтовой кодовой странице.
Info Список сценариев загружен. Пропущенных сценариев: 0, скрытых: 0
|
|
Stalker oK
Стаж: 14 лет 9 месяцев Сообщений: 2084
|
Stalker oK ·
10-Сен-20 20:31
(спустя 8 часов)
@BZzz@, всё норм, как работала кое как так и работает, пользоваться можно.
|
|
stalkerok
Стаж: 4 года 5 месяцев Сообщений: 1174
|
stalkerok ·
20-Фев-22 12:26
(спустя 1 год 5 месяцев)
Цитата:
Image Uploader Nightly Builds 16.02.2022 Build 4932
|
|
Lee_Roy
Стаж: 16 лет 6 месяцев Сообщений: 432
|
Lee_Roy ·
21-Окт-22 16:04
(спустя 8 месяцев)
А где скачать прогу? Ссылки в шапке дохлые. На народе тоже уже ничего нет
|
|
Gоrdоn_Freeman
Стаж: 15 лет 10 месяцев Сообщений: 1954
|
Gоrdоn_Freeman ·
28-Окт-22 12:31
(спустя 6 дней)
Плюсую, комп накрылся. Хочу на ноут поставить, а ссыли все того уже
|
|
stalkerоk
Стаж: 2 года 2 месяца Сообщений: 190
|
stalkerоk ·
28-Окт-22 13:04
(спустя 33 мин.)
Туго вам наверно, ребятки...
|
|
|