|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
26-Июл-12 09:50
(12 лет 5 месяцев назад, ред. 26-Июл-12 09:50)
Morgez писал(а):
Valek 87 писал(а):
Знаете ли вы, что....
не разобрался с этой бедой? тоже хотелось бы рабочую иметь...
Как я понял прога считывает только те пункты из этого блока, которые видны при загрузке страницы. Вот код при обычной загрузке страницы:
Код:
<div class="triviaBlock">
<ul class="trivia">
<li class="trivia">21 августа 2009 года было объявлено «всемирным днем Аватара». В этот день по всей планете состоялись показы 15-минутного фрагмента картины.</li>
</ul>
<div class="more">
<a href="/film/251733/view_info/ok/#trivia" id="btn_all_info" class="continue">(...читать всё)</a>
</div>
<div class="loader"/>
</div>
При ручном раскрытии списка соответственно изменяется код, но прога уже его не видит и не может считать остальные пункты.
Код:
<div class="triviaBlock">
<ul class="trivia" style="visibility: visible">
<li class="trivia">21 августа 2009 года было объявлено «всемирным днем Аватара». В этот день по всей планете состоялись показы 15-минутного фрагмента картины.</li>
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
<li class="trivia">
</ul>
<div class="more" style="visibility: hidden">
<a href="/film/251733/view_info/ok/#trivia" id="btn_all_info" class="continue">(...читать всё)</a>
</div>
<div class="loader" style="visibility: hidden"/>
</div>
Появляется дополнительный код style="visibility. Можно ли его как-нибудь вставить в прогу?
|
|
ablex.Captain.for.NEW
Стаж: 12 лет 10 месяцев Сообщений: 7
|
ablex.Captain.for.NEW ·
26-Июл-12 13:37
(спустя 3 часа)
Valek 87
Спасибо, всё работает !
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
26-Июл-12 22:28
(спустя 8 часов)
ablex.Captain.for.NEW писал(а):
Valek 87
Спасибо, всё работает !
Не за что!
|
|
Galimka
Стаж: 14 лет 10 месяцев Сообщений: 17
|
Galimka ·
30-Июл-12 18:54
(спустя 3 дня, ред. 01-Авг-12 06:48)
а я не понял, киньте плиз файлик что ли, очень признателен буду) имел ввиду про Знаете ли вы что, если разобрались конечно
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
01-Авг-12 20:40
(спустя 2 дня 1 час)
Galimka писал(а):
а я не понял, киньте плиз файлик что ли, очень признателен буду) имел ввиду про Знаете ли вы что, если разобрались конечно
А зачем кидать. Что там ты хочешь увидеть?
|
|
Galimka
Стаж: 14 лет 10 месяцев Сообщений: 17
|
Galimka ·
02-Авг-12 14:09
(спустя 17 часов)
Valek 87 грабится только первый пункт из Знаете ли вы что, хотелось бы чтоб грабились все)
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
03-Авг-12 07:15
(спустя 17 часов, ред. 03-Авг-12 07:15)
Друзья мои кажись всё получилось В файле DlgPreview.frf меняем следующий код:
Изменение №1
Код:
//==================================================================================================
// Заполнение диалога с предварительным просмотром и редактированием собранных данных
//==================================================================================================
procedure FillPreview;
var
Name ,
Value ,
Temp ,
RawStr,
Info ,
POST,
People: WideString;
Items : TIDsArray;
begin
CleanPreview; ShowDownloadProgress('Получение описания фильма');
try
if HTTPMethod(HTTP, True, 'GET', MoviePagePath+MovieID+'/')
then Info:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size)
else Exit;
if HTTPMethod(HTTP, True, 'GET', PeoplePagePath+MovieID+'/cast')
then People:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size)
else Exit;
на
Код:
//==================================================================================================
// Заполнение диалога с предварительным просмотром и редактированием собранных данных
//==================================================================================================
procedure FillPreview;
var
Name ,
Value ,
Temp ,
RawStr,
Info ,
POST,
Knowing,
People: WideString;
Items : TIDsArray;
begin
CleanPreview; ShowDownloadProgress('Получение описания фильма');
try
if HTTPMethod(HTTP, True, 'GET', MoviePagePath+MovieID+'/')
then Info:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size)
else Exit;
if HTTPMethod(HTTP, True, 'GET', PeoplePagePath+MovieID+'/cast')
then People:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size)
else Exit;
if HTTPMethod(HTTP, True, 'GET', MoviePagePath+MovieID+'/view_info/ok/#trivia')
then Knowing:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size)
else Exit;
Изменение №2
Код:
//---------------------------------------------------------------------------------------------
// Поиск блока "Знаете ли Вы, что..."
//---------------------------------------------------------------------------------------------
if Pos('ЗНАЕТЕ ЛИ ВЫ, ЧТО...', UpperCase(RawStr))>0
then begin
if Assigned(DoYouKnowThings)
then DoYouKnowThings.Clear
else DoYouKnowThings:=TWideStringList.Create;
ParseEx(RawStr, '<ul ');
ParseEx(RawStr, 'trivia');
Parse(RawStr, '>');
while RawStr<>''
do begin
ParseEx(RawStr, '<li ')
ParseEx(RawStr, 'trivia');
Parse(RawStr, '>');;
if RawStr=''
then Break;
DoYouKnowThings.Add(CleanHTMLText(ParseEx(RawStr, '</li>')))
end
end;
на
Код:
//---------------------------------------------------------------------------------------------
// Поиск блока "Знаете ли Вы, что..."
//---------------------------------------------------------------------------------------------
if Pos('ЗНАЕТЕ ЛИ ВЫ, ЧТО...', UpperCase(RawStr))>0
then begin
if Assigned(DoYouKnowThings)
then DoYouKnowThings.Clear
else DoYouKnowThings:=TWideStringList.Create;
ParseEx(Knowing, '<ul ');
ParseEx(Knowing, 'trivia');
Parse(Knowing, '>');
while Knowing<>''
do begin
ParseEx(Knowing, '<li ')
ParseEx(Knowing, 'trivia');
Parse(Knowing, '>');;
if Knowing=''
then Break;
DoYouKnowThings.Add(CleanHTMLText(ParseEx(Knowing, '</li>')))
end
end;
На всякий случай прикрепил новый файл. Ссылка - http://multi-up.com/741083 Не забудьте сделать backup!!! И прикрепил еще картинку, которая свидетельствует, что всё должно работать -
У кого-нибудь есть знакомые программисты по Delphi? Необходимо создать плагин для заливки на обменник.
|
|
Galimka
Стаж: 14 лет 10 месяцев Сообщений: 17
|
Galimka ·
03-Авг-12 18:44
(спустя 11 часов)
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
03-Авг-12 18:51
(спустя 6 мин.)
Galimka писал(а):
Valek 87 мужик!!!!!!!
Спасибо. Работает?
|
|
Morgez
Стаж: 17 лет 2 месяца Сообщений: 173
|
Morgez ·
03-Авг-12 22:05
(спустя 3 часа)
Valek 87
работает спасибо ,еще бы постеры поправить и было бы совсем хорошо...
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
03-Авг-12 22:35
(спустя 30 мин.)
Morgez писал(а):
Valek 87
работает спасибо ,еще бы постеры поправить и было бы совсем хорошо...
А что за проблема?
|
|
Galimka
Стаж: 14 лет 10 месяцев Сообщений: 17
|
Galimka ·
04-Авг-12 08:35
(спустя 9 часов)
не грабятся ведь постеры с кинопоиска)
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
04-Авг-12 12:45
(спустя 4 часа)
Постеры грабятся и даже они у меня скачиваются, чего не было в последних версиях программы. Сейчас попробую всё рассказать вам, т.к. делал это довольно давно. С проблемой скачивания постера я очень долго мучился, пришлось даже постигать основы Delphi. Итак, ниже в каждом спойлере я написал какие изменения должны быть в коде. Проверяйте файлы:
Файл DlgPoster.frf
Код:
//==================================================================================================
// Функция создаёт список PosterURLs и загружает в него адреса постеров для фильма
// (на данный момент обрабатывается только первая страница с постерами)
//==================================================================================================
function LoadPosterURLs: Boolean;
var
RawStr,
Source: WideString;
Index : Integer;
begin
Result:=True; // Собственно получение страницы с постерами для текущего фильма
Result:=HTTPMethod(HTTP, True, 'GET', PostersPagePath+MovieID+'/posters/');
if not Result
then Exit;
PosterURLsLoaded:=True; // Парсинг полученных данных и заполнение списка PosterURLs
RawStr:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size);
while Pos('<a href="/picture/', RawStr)>0
do begin
ParseEx(RawStr, '<a href="/picture/');
Index:=StrToIntDef(Parse(RawStr, '/'), -1);
ParseEx(RawStr, 'poster/sm_');
Source:=ParseEx(RawStr, '"');
ParseEx(RawStr, '</td>');
if Index<>-1
then PosterURLs.Add(IntToStr(Index)+Separator+Source)
end
end;
Файл DlgPreview.frf
Код:
//==================================================================================================
// Заполнение диалога с предварительным просмотром и редактированием собранных данных
//==================================================================================================
procedure FillPreview;
var
Name ,
Value ,
Temp ,
RawStr,
Info ,
POST,
Knowing,
People: WideString;
Items : TIDsArray;
begin
CleanPreview; ShowDownloadProgress('Получение описания фильма');
try
if HTTPMethod(HTTP, True, 'GET', MoviePagePath+MovieID+'/')
then Info:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size)
else Exit;
if HTTPMethod(HTTP, True, 'GET', PeoplePagePath+MovieID+'/cast')
then People:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size)
else Exit;
if HTTPMethod(HTTP, True, 'GET', MoviePagePath+MovieID+'/view_info/ok/#trivia')
then Knowing:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size)
else Exit; finally
HideDownloadProgress
end; RawStr:=Info;
POST:='/film/'+MovieID+'/posters/';
HasPosters:=Pos(POST, RawStr)>0;
Файл ScriptTypes.fru
Код:
// DlgPoster
//PostersPagePath = 'http://www.kinopoisk.ru/level/17/film/';
PostersPagePath = 'http://www.kinopoisk.ru/film/';
PosterPreviewPath = 'http://st.kinopoisk.ru/images/poster/sm_';
PosterLargePagePath = 'http://st.kinopoisk.ru/im/poster';
Файл ScriptUtils.fru
Код:
//==================================================================================================
// Эта функция вызывается из сторонних модулей и должна возвращать путь к выбранному постеру
//==================================================================================================
function GetPosterFileName: WideString;
var
Item : TImageItem;
RawStr,
Poster: WideString;
Bitmap: TFIBitmap;
Scale : Double;
MovieIDfirst, MovieIDsecond, MovieIDthird : Integer;
begin if DontUsePoster.Checked
then Result:=''
else if UseCustomPoster.Checked
then Result:=CustomPosterPath.Text
else try
ShowDownloadProgress('Скачивание постера оригинального размера'); Item:=GetSelectedItem(KPPosters);
//if not HTTPMethod(HTTP, True, 'GET', PosterLargePagePath+IntToStr(Item.Tag)+'/')
MovieIDfirst:=strtoint(IntToStr(Item.Tag)[1]);
MovieIDsecond:=strtoint(IntToStr(Item.Tag)[2]);
MovieIDthird:=strtoint(IntToStr(Item.Tag)[3]);
if not HTTPMethod(HTTP, True, 'GET', PosterLargePagePath+'/'+IntToStr(MovieIDfirst)+'/'+IntToStr(MovieIDsecond)+'/'+IntToStr(MovieIDthird)+'/kinopoisk.ru-'+Result+'-'+IntToStr(Item.Tag)+'.jpg')
then Exit; //RawStr:=ReadStrFromStream(HTTP.Document, HTTP.Document.Size);
// ParseEx(RawStr, 'id=''main_table''');
//ParseEx(RawStr, 'src=''');
//Poster:=Trim(ParseEx(RawStr, '''')); //if (Poster='') or not HTTPMethod(HTTP, True, 'GET', Poster)
//then Exit; Bitmap:=TFIBitmap.Create(0, 0, 0, 0);
Bitmap.LoadFromStream(HTTP.Document, 0);
if (Bitmap.Width>MaxPosterWidth) or (Bitmap.Height>MaxPosterHeight)
then begin
Scale:=MaxF(Bitmap.Width/MaxPosterWidth, Bitmap.Height/MaxPosterHeight);
Bitmap.Rescale(Round(Bitmap.Width/Scale), Round(Bitmap.Height/Scale), FILTER_LANCZOS3, nil)
end;
Result:=GetUniqueFileName(GetTemporaryPath+Item.Caption);
Bitmap.SaveToFile(Result, FIF_JPEG, JpegQuality)
finally
FreeAndNil(Bitmap);
HideDownloadProgress
end
end; type
TFileNameChars = array [1..MAX_PATH] of Char;
Как всегда на всякий случай прикрепил нужные файлы. Ссылка - http://multi-up.com/741968 Не забудьте сделать backup!!!
|
|
Morgez
Стаж: 17 лет 2 месяца Сообщений: 173
|
Morgez ·
04-Авг-12 20:34
(спустя 7 часов)
Valek 87
Спасибо большое за все изменения,под итожим:
|
|
Galimka
Стаж: 14 лет 10 месяцев Сообщений: 17
|
Galimka ·
05-Авг-12 15:59
(спустя 19 часов)
Valek 87, Morgez спасибо вам, вы по ходу единственные кто доводит прогу до ума)
|
|
rotametr
Стаж: 15 лет Сообщений: 19
|
rotametr ·
06-Авг-12 20:49
(спустя 1 день 4 часа)
У меня проблема... скриншоты не заливаются на хостинг, получаются вот в таком виде: [img]%Str%[/img]
[img]%Str%[/img]
[img]%Str%[/img]
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
06-Авг-12 21:08
(спустя 18 мин., ред. 06-Авг-12 21:08)
rotametr писал(а):
У меня проблема... скриншоты не заливаются на хостинг, получаются вот в таком виде: [img]%Str%[/img]
[img]%Str%[/img]
[img]%Str%[/img]
Что релизите?
На всякий случай вот вам папка upload - http://multi-up.com/743015 Попробуйте заменить свою старую папку в программе на эту.
|
|
rotametr
Стаж: 15 лет Сообщений: 19
|
rotametr ·
06-Авг-12 21:47
(спустя 39 мин., ред. 06-Авг-12 21:47)
Цитата:
Что релизите?
На всякий случай вот вам папка upload - http://multi-up.com/743015 Попробуйте заменить свою старую папку в программе на эту.
Только фильмы.
Папку поменял, ничего не получилось.
|
|
Morgez
Стаж: 17 лет 2 месяца Сообщений: 173
|
Morgez ·
06-Авг-12 22:14
(спустя 27 мин.)
rotametr
на какой хостинг скрины льете? или на любом так?
|
|
rotametr
Стаж: 15 лет Сообщений: 19
|
rotametr ·
06-Авг-12 22:20
(спустя 5 мин., ред. 06-Авг-12 22:20)
Morgez писал(а):
rotametr
на какой хостинг скрины льете? или на любом так?
пробовал на всех хостингах, везде косяк.
Постер и баннер релиз группы заливается, а именно скрины - нет. Помогайте.
|
|
Morgez
Стаж: 17 лет 2 месяца Сообщений: 173
|
Morgez ·
07-Авг-12 00:57
(спустя 2 часа 36 мин.)
rotametr
в этом посте сборка https://rutr.life/forum/viewtopic.php?p=54518808#54518808
все работает как надо,если у вас свой шаблон,смотрите в нем,у себя не могу воспроизвести такой косяк.
|
|
Smir-n-off
Стаж: 15 лет 10 месяцев Сообщений: 60
|
Smir-n-off ·
08-Авг-12 01:52
(спустя 1 день, ред. 08-Авг-12 01:52)
Подскажите пожалуйста как добавлять такую картинку
? Скрипт
Код:
[url=http://www.imdb.com/title/tt%IMDBMovieIndex%/][img]http://tracker.hdclub.com.ua/imdb/imdb_tt%IMDBMovieIndex%.gif[/img]
не работает . Вообщем кнопка катринка на www.imdb.com как тут https://rutr.life/forum/viewtopic.php?p=54345006#54345006
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
08-Авг-12 07:33
(спустя 5 часов, ред. 08-Авг-12 07:33)
Smir-n-off писал(а):
Подскажите пожалуйста как добавлять такую картинку
? Скрипт
Код:
[url=http://www.imdb.com/title/tt%IMDBMovieIndex%/][img]http://tracker.hdclub.com.ua/imdb/imdb_tt%IMDBMovieIndex%.gif[/img]
не работает . Вообщем кнопка катринка на www.imdb.com как тут https://rutr.life/forum/viewtopic.php?p=54345006#54345006
У Morgez полностью рабочая версия. Можешь использовать другой информер. В принципе код правильный, возможно на hdclub что-то не работает в этой части.
|
|
Smir-n-off
Стаж: 15 лет 10 месяцев Сообщений: 60
|
Smir-n-off ·
08-Авг-12 10:15
(спустя 2 часа 42 мин.)
Valek 87 писал(а):
У Morgez полностью рабочая версия. В принципе код правильный, возможно на hdclub что-то не работает в этой части.
Дело в том, что шаблон Gaint Web+ от Morgez именно этот скрипт тоже не работает
Код:
[url=%KPPage%][img]http://www.kinopoisk.ru/rating/%KPMovieIndex%.gif[/img][/url] [url=http://www.imdb.com/title/tt%IMDBMovieIndex%/][img]http://hqfans.org/imdb/imdb_tt%IMDBMovieIndex%.gif[/img][/url]
Программа из этого поста https://rutr.life/forum/viewtopic.php?p=54518808#54518808 . Такое ощущение, что перестала работать команда %IMDBMovieIndex%
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
08-Авг-12 13:05
(спустя 2 часа 49 мин., ред. 08-Авг-12 13:05)
Smir-n-off
сейчас скачал программу с этого поста. у меня все работает. Чтобы данная команда работала - необходимо обязательно производить поиск фильма на imdb.com
|
|
Smir-n-off
Стаж: 15 лет 10 месяцев Сообщений: 60
|
Smir-n-off ·
08-Авг-12 15:43
(спустя 2 часа 38 мин.)
Valek 87 писал(а):
Smir-n-off
необходимо обязательно производить поиск фильма на imdb.com
От где собака порылась . Спасибо большое
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
09-Авг-12 14:27
(спустя 22 часа)
Smir-n-off писал(а):
Valek 87 писал(а):
Smir-n-off
необходимо обязательно производить поиск фильма на imdb.com
От где собака порылась . Спасибо большое
Пожалуйста. Еще одно немаловажное замечание - если не будете искать фильм на imdb, но при этом в шаблоне рейтинги у вас стоят рядом, например,
Код:
[url=%KPPage%][img]http://www.kinopoisk.ru/rating/%KPMovieIndex%.gif[/img][/url] %space%[url=http://www.imdb.com/title/tt%IMDBMovieIndex%/][img]http://hqfans.org/imdb/imdb_tt%IMDBMovieIndex%.gif[/img][/url]
то в итоге рейтинги не покажутся.
|
|
AZote_
Стаж: 15 лет 4 месяца Сообщений: 90
|
AZote_ ·
12-Авг-12 15:24
(спустя 3 дня)
Семь бед? Один ответ! IZI Releaser!
|
|
андр64
Стаж: 15 лет Сообщений: 485
|
андр64 ·
12-Авг-12 23:33
(спустя 8 часов)
Valek 87
А как это ОБЯЗАТЕЛЬНО производить поиск?
|
|
Valek 87
Стаж: 16 лет 11 месяцев Сообщений: 129
|
Valek 87 ·
14-Авг-12 15:06
(спустя 1 день 15 часов, ред. 15-Авг-12 15:07)
андр64 на imdb обязательно производить в том случае, если нужна ссылка на фильм на imdb и для генерации картинки с рейтингом imdb. А так программа можеть работать и без этого поиска.
|
|
|