Автор Тема: Фиксы (исправления) для плагина Кинопоиск  (Прочитано 10167 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Duran

  • Постоялец
  • ***
  • Сообщений: 79
Что бы было удобней - временная тема со сборником фиксов для плагина Кинопоиска от Резета

Для Других названий:

Находите в скрипте строчку:
Tmp := Replace (TextBetween (HTML, 'кадры  новости сайт  ', '">', False, curPos));
Заменяете на
Tmp := Replace (TextBetween (HTML, 'кадры  новости сайт  ', '" />', False, curPos));
Для рейтинга:
Находите блог:
  // Рейтинг MPAA
  curPos := PosFrom('рейтинг MPAA', HTML, First);
  if curPos > 0 then
    begin
     curPos := PosFrom('<img', HTML, curPos);
     tmp := Copy(HTML, curPos, PosFrom('</a>', HTML, curPos)-curPos);
     tmp := copy(tmp, pos('alt=', tmp)+5, pos(' /', tmp) - pos('alt=', tmp) - 6);
     If (Pos('Рейтинг', TMP) = 0) Or (Pos('Рейтинг', Tmp) > 2)Then
      Begin
       curPos := PosFrom('рейтинг MPAA', HTML, First);
       Tmp := HTMLValues2(HTML, '<a', '</a>', '>', '</a>', ',', curPos);
      End;
     if (tmp = 'Рейтинг R') then //13049
       tmp := 'Рейтинг R - Детям до 17 лет обязательно присутствие родителей'
     else if (tmp = 'Рейтинг PG') then // 4135
       tmp := 'Рейтинг PG — Рекомендуется присутствие родителей'
     else if (tmp = 'Рейтинг PG-13') then // 3454
       tmp := 'Рейтинг PG-13 — Детям до 13 лет просмотр нежелателен'
     else if (tmp = 'Рейтинг G') then // 1394
       tmp := 'Рейтинг G - Нет возрастных ограничений'
     else if (tmp = 'Рейтинг NC-17') then // 101
       tmp := 'Рейтинг NC-17 — Лицам до 17 лет просмотр запрещен'
     else if (tmp = 'M') then
       tmp := 'Рейтинг M — Подростковое ограничение, от 11 до 13 лет'
     else if (tmp = 'X') then
       tmp := 'Рейтинг X — На сеанс не допускаются лица, не достигшие 17-летнего возраста'
     else if (tmp = 'GP') then
       tmp := 'Рейтинг GP — Нет возрастных ограничений, рекомендуется присутствие родителей';
     if AllowAddByNumber (optMPAA, gfMPAA) then AddFieldValue(mfMPAA, Tmp);
    end;

Заменяете на:

// Рейтинг MPAA
  curPos := PosFrom('рейтинг MPAA', HTML, First);
  if curPos > 0 then
    begin
     curPos := PosFrom('<img', HTML, curPos);
     tmp := Copy(HTML, curPos, PosFrom('</a>', HTML, curPos)-curPos);
     tmp := TextBetween (HTML, 'alt=''', '''', true, curPos);
     If (Pos('Рейтинг', TMP) = 0) Or (Pos('Рейтинг', Tmp) > 2)Then
      Begin
       curPos := PosFrom('рейтинг MPAA', HTML, First);
       Tmp := HTMLValues2(HTML, '<a', '</a>', '>', '</a>', ',', curPos);
      End;
     if (tmp = 'рейтинг R') then //13049
       tmp := 'Рейтинг R - Детям до 17 лет обязательно присутствие родителей'
     else if (tmp = 'рейтинг PG') then // 4135
       tmp := 'Рейтинг PG — Рекомендуется присутствие родителей'
     else if (tmp = 'рейтинг PG-13') then // 3454
       tmp := 'Рейтинг PG-13 — Детям до 13 лет просмотр нежелателен'
     else if (tmp = 'рейтинг G') then // 1394
       tmp := 'Рейтинг G - Нет возрастных ограничений'
     else if (tmp = 'рейтинг NC-17') then // 101
       tmp := 'Рейтинг NC-17 — Лицам до 17 лет просмотр запрещен'
     else if (tmp = 'M') then
       tmp := 'Рейтинг M — Подростковое ограничение, от 11 до 13 лет'
     else if (tmp = 'X') then
       tmp := 'Рейтинг X — На сеанс не допускаются лица, не достигшие 17-летнего возраста'
     else if (tmp = 'GP') then
       tmp := 'Рейтинг GP — Нет возрастных ограничений, рекомендуется присутствие родителей';
     if AllowAddByNumber (optMPAA, gfMPAA) then AddFieldValue(mfMPAA, Tmp);
    end;


Для DVD
Найти строчку
Tmp := Replace (HTMLValues2(HTML, '>релиз на DVD<', '</tr>', '<a', '</a>', ',', curPos));
Заменить на
Tmp := Replace (HTMLValues2(HTML, '>релиз на DVD<', '</tr>', '<a', '</', ',', curPos));
Для BR
Найти строчку
Tmp := Replace (HTMLValues2(HTML, '>релиз на Blu-Ray<', '</tr>', '<a', '</a>', ',', curPos));
Заменить на
Tmp := Replace (HTMLValues2(HTML, '>релиз на Blu-Ray<', '</tr>', '<a', '</', ',', curPos));

Для отзывов (полных)

Для нужного кол-ва надо менять maxOpinion = в самом скрипте.

Это
//****** ParseOpinions ****** Парсим отзывы зрителей ******
var
  strOpinions  : WideString;
procedure ParseOpinions (HTML : WideString);
var
 curPos, endPos, i     : Integer;     // Начальная и конечная позиции
 Tmp, Tmp2, Tmp3, URL  : WideString;   // Временные переменные
 Items                 : TWideArray;
 hasEnd, getMaxCharInOpinion : Boolean;
Begin
  endPos := 1;
  i := nOpinion + 1;
  // Загрузка отзывов
  while true do
    Begin
    if (maxOpinion > 0) And (i > maxOpinion) then Break;
    curPos := PosFrom ('<h3 class="profile-name"><img', HTML, endPos);
    if curPos <= 0 then
      Break;
     
    endPos := PosFrom ('<div id="comment_num_vote_', HTML, curPos);
    Tmp := Copy (HTML, curPos, endPos - curPos);  // Отзыв целиком
    Tmp := StringReplace (Tmp, '<br />', '<br>', true, true, false);
    curPos := 1;
    Tmp2 := TextBetween (Tmp, '<h3 class="profile-name">', '</h3>', false, curPos);  // Имя пользователя
    Tmp2 := Tmp2 + ' /' + TextBetween (Tmp, '<td style="color:#fff">', ' | ', false, curPos) + '/'; // Дата создания отзыва
    curPos := 1;
    Tmp2 := Tmp2 + '    ' + HTMLValues2 (Tmp, '<span id=''ext_title_', '<span>', '''>', '<span>', '', curPos) + #13#10; // Заголовок отзыва
    curPos := PosFrom ('<span id=''ext_text_', Tmp, curPos);
    Tmp2 := Tmp2 + TextBetween (Tmp, '>', '<span>', true, curPos); // Собственно отзыв

    Tmp2 := Replace (Tmp2);
    Tmp2 := StringReplace (Tmp2, #13#10#13#10, #13#10, true, true, false);
    Tmp2 := StringReplace (Tmp2, #13#10#13#10, #13#10, true, true, false);
    if (maxCharInOpinion > 0) And ((length (strOpinions) + 2 + length (Tmp2)) > maxCharInOpinion) then
      Begin
      i := i - 1;
      getMaxCharInOpinion := true;
      Continue;
      End;
    if strOpinions <> '' then
      strOpinions := strOpinions + #13#10#13#10;
    strOpinions := strOpinions + Tmp2;
//    strOpinions := strOpinions + IntToStr (i);
    Inc (i);
    End;

заменить на
//****** ParseOpinions ****** Парсим отзывы зрителей ******
var
  strOpinions  : WideString;
procedure ParseOpinions (HTML : WideString);
var
 curPos, endPos, i     : Integer;     // Начальная и конечная позиции
 Tmp, Tmp2, Tmp3, URL  : WideString;   // Временные переменные
 Items                 : TWideArray;
 hasEnd, getMaxCharInOpinion : Boolean;
Begin
  endPos := 1;
 i := nOpinion + 1;

  // Загрузка отзывов
  while true do
    Begin
    if (maxOpinion > 0) And (i > maxOpinion) then Break;
    curPos := PosFrom ('<p class="user"><a href', HTML, endPos);
    if curPos <= 0 then
      Break;
     
    endPos := PosFrom ('<li id="comment_num_vote_', HTML, curPos);
    Tmp := Copy (HTML, curPos, endPos - curPos);  // Отзыв целиком
    Tmp := StringReplace (Tmp, '<br />', '<br>', true, true, false);
    curPos := 1;
    Tmp2 := TextBetween (Tmp, '/">', '</a></p>', false, curPos);  // Имя пользователя
    Tmp2 := Tmp2 + ' /' + TextBetween (Tmp, '<span class="date">', ' | ', false, curPos) + '/'; // Дата создания отзыва
curPos := 1;
    Tmp2 := Tmp2 + '    ' + HTMLValues (Tmp, '<p class="sub_title"', '</p>', '">', '</p>', '', curPos) + #13#10; // Заголовок отзыва

curPos := PosFrom ('<p id="ext_text_', Tmp, curPos);
    Tmp2 := Tmp2 + TextBetween (Tmp, '">', '</p>', true, curPos); // Собственно отзыв

    Tmp2 := Replace (Tmp2);
    Tmp2 := StringReplace (Tmp2, #13#10#13#10, #13#10, true, true, false);
    Tmp2 := StringReplace (Tmp2, #13#10#13#10, #13#10, true, true, false);
    if (maxCharInOpinion > 0) And ((length (strOpinions) + 2 + length (Tmp2)) > maxCharInOpinion) then
      Begin
      i := i - 1;
      getMaxCharInOpinion := true;
      Continue;
      End;
    if strOpinions <> '' then
      strOpinions := strOpinions + #13#10#13#10;
    strOpinions := strOpinions + Tmp2;
//    strOpinions := strOpinions + IntToStr (i);
    Inc (i);
    End;
« Последнее редактирование: 03 Сентября 2009, 22:42:52 от Duran »

Оффлайн Reset

  • Глобальный модератор
  • *****
  • Сообщений: 1362
Re: Фиксы (исправления) для плагина Кинопоиск
« Ответ #1 : 05 Сентября 2009, 02:37:06 »
Что бы было удобней - временная тема со сборником фиксов для плагина Кинопоиска от Резета
Низкий поклон и моя благодарность за поддержку и фиксы.
« Последнее редактирование: 05 Сентября 2009, 02:54:35 от Reset »
Нет описания? Нужны ответы? Есть предложения? Не хватает сайтов?