FilmAffinity script no funcionan

If you made a script you can offer it to the others here, or ask help to improve it. You can also report here bugs & problems with existing scripts.
Post Reply
masterchipo
Posts: 99
Joined: 2010-02-22 23:15:05

FilmAffinity script no funcionan

Post by masterchipo »

Hola a todos y todas.
Han dejado de funcionar los scripts en la página de FilmAffinity.
Salen todos símbolos y muchos de los campos no se agregan.
masterchipo
Posts: 99
Joined: 2010-02-22 23:15:05

FilmAffinity script no funcionan

Post by masterchipo »

Es cierto muchos campos no funcionan, pero otros ni siquiera se completan por ejemplo director y críticas.
Y en las películas no tan actuales ni siquiera las reconoce
Saludos
masterchipo
PD hace varios días que viene funcionando mal, pensé que era a mi solo, porque no vi ningun comentario, pero me pareció el lugar justo para poner esto para que arreglen el mismo pero el único que ha posteado soy yo y justo un año atrás.
JuanRa_007
Posts: 21
Joined: 2014-06-08 09:08:31

Post by JuanRa_007 »

Yo he hecho unos cambios simples en una versión "especial" para mí pero que se basa en las versiones existentes.

El problema que he tenido ha sido con dos campos: el año y el director.

- Para el año:

Code: Select all

Item := DeleteTags(TextBetween(Line, '<dd>', '</dd>'));
por

Code: Select all

Item := DeleteTags(TextBetween(Line, '<dd itemprop="datePublished">', '</dd>'));

Y para el director:

Code: Select all

      Line := Page.GetString(LineNr + 1);
      Item := DeleteTags(TextBetween(Line, '<dd>', '</dd>'));
por

Code: Select all

      Line := Page.GetString(LineNr + 4);
      Item := DeleteTags(TextBetween(Line, '<span itemprop="name">', '</span></a>                </span>'));

Es una arreglo para "salir al paso", pero por ahora me funciona.
masterchipo
Posts: 99
Joined: 2010-02-22 23:15:05

Post by masterchipo »

Gracias ¡FUNCIONA A LA PERFECCIÓN!
Gracias JuanRa-007
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Thanks, I'll update it on the server
JuanRa_007
Posts: 21
Joined: 2014-06-08 09:08:31

Post by JuanRa_007 »

El proceso de detección del campo "director" tiene que ser mejorada, pero ahora mismo funciona.


The detection process of "director" field has to be improved, but now it works.
Arturo
Posts: 52
Joined: 2013-04-11 16:28:52

Post by Arturo »

Espero que asi funcione. Ahora captura todos los Directores
Versión 2.85

Code: Select all

(***************************************************

Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/

[Infos]
Authors=aviloria (aviloria@yahoo.com) modded by: rodpedja (rodpedja@gmail.com), kreti (bisoft@hotmail.com), MrK, gilistico, juliojs, Albher, Arturo, jacqlittle
Title=FilmAffinity (ES)
Description=Movie importation script for FilmAffinity Spain
Site=http://www.filmaffinity.com
Language=ES
Version=2.85
Requires=4.1.2
Comments=adaptation for compatibility with 4.2 version. Added Extras capture. Changed Charset ISO-> utf8
License=The source code of the script can be used in another program only if full credits to script author and a link to Ant Movie Catalog website are given in the About box or in the documentation of the program.|
GetInfo=1
RequiresMovies=1

[Options]
DontAsk=0|0|1=Método rápido: No te pregunta el titulo al principio, ni te pide confirmar si sólo hay un resultado|0=Método lento: Confirmas la información manualmente
ActorsInALine=0|0|1=Actores separados por comas|0=Actores en lineas independientes
Force350=0|0|1=force the behavior of 3.5.0 version|0=Version auto
DontWantExtras=0|1|1=No se recopilan extras|0=Se recopilan extras: enlaces, imágenes
GroupImages=0|1|1=Agrupa todas las imagenes en una misnma categoría 'Imagenes'|0=Divide las imágenes por categorias

[Parameters]
ExtraCriticsLimit=99|99|Límite de criticas en Extras
ExtraImagesLimit=99|99|Límite de imágenes en Extras
ExtraTrailersLimit=99|99|Límite de Trailers en Extras

***************************************************)

program FilmAffinity;
const
   BaseURL = 'http://www.filmaffinity.com';
var
   MovieName: string;
   MovieURL: string;
   
//------------------------------------------------------------------------------------

function LineDecode(S: string):string;
begin
   S:= UTF8Decode(S);
   HTMLDecode(S);
   Result := S;
end;

function FindLine(Pattern: string; List: TStringList; StartAt: Integer): Integer;
var
   i: Integer;
begin
   Result := -1;
   if StartAt < 0 then StartAt := 0;
   for i := StartAt to List.Count-1 do
      if Pos(Pattern, List.GetString(i)) <> 0 then
      begin
         Result := i;
         Break;
      end;
end;

//------------------------------------------------------------------------------------

//
//  ConvertAlphaNum: Quita todo menos letras (mayusculas y minusculas) y numeros
//

Function ConvertAlphaNum(s: string) : string;
var
  i: Integer;
  s2, ch: string;
begin
  s2 := '';
  For i := 1 To Length(s) do
    begin
      ch := copy(s, i, 1);
      if ((ch >= 'a') and (ch <= 'z')) or ((ch >= '0') and (ch <= '9')) or ((ch >= 'A') and (ch <= 'Z'))  then
      s2 := s2 + ch;
    end;
  result := s2;
end;

//--------------------------------------

function TextBetween(S: string; StartTag: string; EndTag: string): string;
var
   ini, fin, lenS: Integer;
begin
   Result := '';
   lenS := Length(S);
   ini := Pos(StartTag, S);
   if ini <> 0 then
   begin
      ini := ini + Length(StartTag);
      S:= Copy(S,ini,lenS-ini+1);
      ini:=1;
      fin := Pos(EndTag, S);
      if (fin <> 0) and (fin > ini) then
          Result := Copy(S, ini, fin - ini);
   end;
end;

//------------------------------------------------------------------------------------

function TextAfter(S: string; StartTag: string): string;
var
  ini: Integer;
begin
  ini := Pos(StartTag, S);
  if ini <> 0 then
     Result := Copy(S, ini + Length(StartTag), Length(S)-ini+1)
  else
     Result := '';
end;

//------------------------------------------------------------------------------------

function DeleteTags(S: string): string;
var
   n, len, tag: Integer;
   c, p: char;
begin
   len    := Length(S);
   tag    := 0;
   p      := ' ';
   Result := '';
   for n := 1 to len do
   begin
      c := Copy(S,n,1);

      // Eliminamos los tabuladores
      if c = #9 then c := ' ';

      // Los espacios redundantes no se procesan
      if (c <> ' ') or (p <> ' ') then
      begin
         // Eliminamos los tags de HTML
         if tag = 0 then
         begin
            if c <> '<' then
            begin
               Result := Result + c;
               p := c;
            end
            else tag := 1;
         end
         else if c = '>' then tag := 0;
      end;
   end
   if p = ' ' then Result := Copy(Result, 1, Length(Result) - 1);
end;

//------------------------------------------------------------------------------------

procedure AnalyzePage(Address: string);
var
   Page: TStringList;
   LineNr: Integer;
   Line: string;
   Count: Integer;
   MovieTitle, MovieAddress: string;

begin
   Count := 0;
   Page  := TStringList.Create;
   Page.Text := GetPage(Address);
   PickTreeClear;

   // Get how much search results have been found
   
   // No encuentra las palabras "Resultados por título"¿?, busco la
   // linea anterior, y cojo la siguiente linea, le quito los espacios
   // y me quedo con el numerode peliculas.
   
   LineNr := FindLine('<div class="sub-header-search">', Page, 0);
   if LineNr <> -1 then
   begin
      LineNr := LineNr + 1;
      Line   := Page.GetString(LineNr);
      Line   := DeleteTags(Line);
      Line   := ConvertAlphaNum(Line);
      Count  := StrToInt(Line, 0);
   end;

   // Add the results to the PickTree
   if Count = 0 then
      ShowMessage('No se ha encontrado ningún registro')
   else
   begin
      LineNr := 0;
      while true do
      begin
         LineNr := FindLine('<div class="mc-title"><a href="', Page, LineNr + 1);
         if LineNr = -1 then
         begin
            LineNr := FindLine('siguientes >>', Page, 0);
            if LineNr = -1 then
               break;
            Line      := Page.GetString(LineNr);
            Page.Text := GetPage('http://www.filmaffinity.com/es/search.php' + TextBetween(Line, '<a href="search.php', '"><div class="'));
            LineNr    := 0;
            continue;
         end;

         Line         := Page.GetString(LineNr);
         MovieAddress := TextBetween(Line, '<div class="mc-title"><a href="', '.html">') + '.html';
         MovieTitle   := TextBetween(Line, '.html">', '<img src="');
         MovieTitle   := DeleteTags(MovieTitle);
         MovieTitle   := LineDecode(MovieTitle);
         if (Length(MovieAddress) <> 0) and (Length(MovieTitle) <> 0) then
            PickTreeAdd(MovieTitle, BaseURL + MovieAddress);
      end;

      if ((Count = 1) and (GetOption('DontAsk') = 1)) then
         AnalyzeMoviePage(BaseURL + MovieAddress)
      else
      begin
     
//
//         PickTreeSort;      // Si se quiere clasificar por orden alfabetico hay que activar el PickTreeSort, quitar las 2
//                            // las 2 barras "//" que hay a la izquierda la instrucción PickTreeSort y ya esta.
//
         PickTreeExec(Address);
         AnalyzeMoviePage(Address)
      end
   end;
   Page.Free;
end;

//------------------------------------------------------------------------------------

procedure AnalyzeMoviePage(Address: string);
var
   Page: TStringList;
   LineNr, LineInc: Integer;
   Line: string;
   Item: string;
   Comments: string;
   CharStar: string;
   auxItem: string;
begin
   Comments := '';

   // URL
   SetField(fieldURL, Address);

   Page := TStringList.Create;
   Page.Text := GetPage(Address);

   // Translated Title
   LineNr := FindLine('<h1 id="main-title">', Page, 0);
   Line   := Page.GetString(LineNr);
   Item   := DeleteTags(TextBetween(Line, '<h1 id="main-title">', '</h1>'));
   Item   := LineDecode(Item);
   SetField(fieldTranslatedTitle, Item);

   // Picture
   LineNr := FindLine('http://pics.filmaffinity.com/', Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr);
      Item := TextBetween(Line, '<a class="lightbox" href="', '" title="');
      if Length(Item) = 0 then
         Item := TextBetween(Line, '" src="', '"></a>');
      GetPicture(Item);
   end;

   // Rating
   LineNr := FindLine('<div id="movie-rat-avg" itemprop="ratingValue">', Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := DeleteTags(Line);
      Item := LineDecode(Item);
      SetField(fieldRating, StringReplace(Item, ',', '.'));
   end;

   // Original Title
   LineNr := FindLine(UTF8Encode('<dt>Título original</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      
      // Eliminar aka
      if Pos('>aka <',Line) <>0 then
      Line:= StringReplace(Line,'>aka <','');
      
      Item := DeleteTags(TextBetween(Line, '<dd>', '</dd>'));
      Item := LineDecode(Item);
      if Length(Item) = 0 then
      begin
        Line := Page.GetString(LineNr + 2);
        
      // Eliminar aka
      if Pos('>aka <',Line) <>0 then
      Line:= StringReplace(Line,'>aka <','');
        
        Item := DeleteTags(Line);
        Item := LineDecode(Item);
      end;
      SetField(fieldOriginalTitle, Item);
   end;

   // Year
   LineNr := FindLine(UTF8Encode('<dt>Año</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := DeleteTags(TextBetween(Line, '">', '</dd>'));
      Item := LineDecode(Item);
      SetField(fieldYear, Item);
   end;

   // Length
   LineNr := FindLine(UTF8Encode('<dt>Duración</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := DeleteTags(TextBetween(Line, '<dd>', 'min.</dd>'));
      Item := LineDecode(Item);
      SetField(fieldLength, Item);
   end;

   // Country
   LineNr := FindLine(UTF8Encode('<dt>País</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := DeleteTags(TextBetween(Line, 'title="', '"></span'));
      Item := LineDecode(Item);
      SetField(fieldCountry, Item);
   end;
 
   // Director
   LineNr := FindLine(UTF8Encode('class="directors">'), Page, LineNr);
   if LineNr <> -1 then
   begin
      LineNr := LineNr + 3;
      Line := Page.GetString(LineNr);
      Item := TextBetween(Line,'"name">','</span>');
      while Pos (',', Line) <> 0 do
      begin
            Item := Item + ', ';
            LineNr := LineNr + 3;
            Line := Page.GetString(LineNr);
            auxItem := TextBetween(Line,'"name">','</span>');
            Item := Item + auxItem;
      end;
      Item := LineDecode(Item);
      SetField(fieldDirector, Item);
   end;

   // Script writer
   LineNr := FindLine(UTF8Encode('<dt>Guión</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := TextBetween(Line, '<dd>', '</dd>');
      Item := LineDecode(Item);
      if ((CheckVersion(4,2,0) = true) and (GetOption('Force350') = 0)) then SetField(fieldWriter, Item)
      else   Comments := Comments + 'Guión: ' + Item + #13#10 + #13#10;
   end;

   // Composer
   LineNr := FindLine(UTF8Encode('Música'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := TextBetween(Line, '<dd>', '</dd>');
      Item := LineDecode(Item);
      if ((CheckVersion(4,2,0) = true) and (GetOption('Force350') = 0)) then SetField(fieldComposer, Item)
      else Comments := Comments + 'Música: ' + Item + #13#10 + #13#10;
   end;

   // Photography
   LineNr := FindLine(UTF8Encode('<dt>Fotografía</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := TextBetween(Line, '<dd>', '</dd>');
      Item := LineDecode(Item);
      Comments := Comments + 'Fotografía: ' + Item + #13#10 + #13#10;
   end;

   // Actors
   LineNr := FindLine(UTF8Encode('<dt>Reparto</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      if Length(TextBetween(Line, '<dd>', '</dd>')) = 0 then
         Item := DeleteTags(Line)
      else
          Item := DeleteTags(TextBetween(Line, '<dd>', '</dd>'));
          if GetOption('ActorsInALine') = 0 then
            Item := StringReplace(Item, ', ', #13#10);
      Item := LineDecode(Item);
      SetField(fieldActors, Item);
   end;

   // Productor
   LineNr := FindLine(UTF8Encode('<dt>Productora</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := DeleteTags(TextBetween(Line, '<dd>', '</dd>'));
      Item := LineDecode(Item);
      SetField(fieldProducer, Item);
   end;

   // Category
   LineNr := FindLine(UTF8Encode('<dt>Género</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 2);
      Item := DeleteTags(Line);
      Item := LineDecode(Item);
      Item := StringReplace(Item, ' | ', ', ');
      Item := StringReplace(Item, '. ', ', ');
      SetField(fieldCategory, Item);
   end;

   // Official Webpage
   LineNr := FindLine(UTF8Encode('<dt>Web oficial</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := DeleteTags(TextBetween(Line, ' href="', '">'));
      Item := LineDecode(Item);
      Comments := Comments + 'Web oficial: ' + Item + #13#10 + #13#10;
   end;

   // Synopsis
   LineNr := FindLine(UTF8Encode('<dt>Sinopsis</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := DeleteTags(Line);
      Item := LineDecode(Item);
      SetField(fieldDescription, Item);
   end;

   // Awards
   LineNr := FindLine(UTF8Encode('<dt>Premios</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      LineNr   := LineNr + 1;
      Line     := Page.GetString(LineNr);
      Comments := Comments + 'Premios: ' + #13#10;
      while Pos ('</dd>', Line) = 0 do
      begin
         if Pos ('<span id="show-all-awards">', Line) = 0 then
         begin
            Item := DeleteTags(Line);
            Item := LineDecode(Item);
            if (Length(Item) <> 0) then
            begin
               Comments := Comments + '  - ' + Item + #13#10;
            end;
         end;
         LineNr := LineNr + 1;
         Line   := Page.GetString(LineNr);
      end;
      Comments := Comments + #13#10;
   end;

   // Critic
   LineNr := FindLine(UTF8Encode('<dt>Críticas</dt>'), Page, LineNr);
   if LineNr <> -1 then
   begin
      // El unico objeto de esta linea es poder presentar en el foro el listado
      // del script sin que se produzca la conversión del caracter estrella
     
      CharStar       := '&'+'#9733;' ;
      Comments := Comments + 'Críticas: ' + #13#10 + #13#10;
      LineNr := FindLine('<div class="pro-review">', Page, LineNr + 1);
      while LineNr <> -1 do
      begin
         LineNr := LineNr + 1;
         Line := Page.GetString(LineNr);
         if Pos (UTF8Encode('<a title="Leer crítica completa" href='), Line) <> 0 then
         begin
            LineNr := LineNr + 1;
            Line := Page.GetString(LineNr);
         end;
         Line:= StringReplace(Line, CharStar, '*');
         Item := DeleteTags(Line);
         Item := LineDecode(Item);
         if (Length(Item) <> 0) then
         begin
            Comments := Comments + Item + #13#10;
            LineNr := FindLine('<div class="pro-crit-med">', Page, LineNr + 1);
            Line := Page.GetString(LineNr);
            Item := DeleteTags(Line);
            Item := LineDecode(Item);
            if (Length(Item) <> 0) then
            begin
               Comments := Comments + Item + #13#10;
            end;
            Comments := Comments + '________________________________________' + #13#10 + #13#10;
         end;
         LineNr := FindLine('<div class="pro-review">', Page, LineNr + 1);
      end;
   end;

   HTMLDecode(Comments);
   SetField(fieldComments, Comments);
   if GetOption('DontWantExtras') = 0 then
      AnalyzeExtras(Page,Address);
end;

//------------------------------------------------------------------------------------
// Extras
procedure AnalyzeExtras(Page: TStringList; Address: string);
var
   LineNr,NumImages,NumTrailers, i,CountC: Integer;
   Line: string;
   TrailersAddress: string;
   ImagesAddress: string;
   ImageTitle: string;
   ExtraIndex: Integer;
   ExtraString: string;
   ExtraURL: string;
   ExtraTagBase: string;
   LimitImages,LimitTrailers,LimitCritics: Integer;

begin
   ExtraTagBase :=  'FA'+TextBetween(Address, '/film', '.html');
   ClearExtrasOfScript;
   LimitImages := StrtoInt (GetParam('ExtraImagesLimit'),0);
   if LimitImages < 0 then LimitImages := 0;
   LimitTrailers := StrtoInt (GetParam('ExtraTrailersLimit'),0);
   if LimitTrailers < 0 then LimitTrailers := 0;
   LimitCritics := StrtoInt (GetParam('ExtraCriticsLimit'),0);
   if LimitCritics < 0 then LimitCritics := 0;



// Enlaces a Criticas
   LineNr := FindLine(UTF8Encode('<dt>Críticas</dt>'), Page, LineNr);
   CountC := 0;
   if LineNr <> -1 then
   begin
      LineNr := FindLine('<div class="pro-review">', Page, LineNr + 1);
      while LineNr <> -1 do
      begin
         LineNr := LineNr + 1;
         Line := Page.GetString(LineNr);
         if Pos (UTF8Encode('<a title="Leer crítica completa" href='), Line) <> 0 then
         begin
            Line := Page.GetString(LineNr);
            ExtraURL:= TextBetween(Line, 'href="', '" ');
            if (Length(ExtraURL))>0 then
            begin
                 ExtraIndex := AddExtra();
                 SetExtraField(ExtraIndex, extraFieldURL, ExtraURL);
                 SetExtraField(ExtraIndex, extraFieldCategory, 'Críticas');
                 SetExtraField(ExtraIndex, extraFieldTitle, TextBetween(ExtraURL, '//', '/'));
                 SetExtraField(ExtraIndex, extraFieldTag, ExtraTagBase+'C'+IntToStr(ExtraIndex));
            end;
            LineNr := LineNr + 1;
            Line := Page.GetString(LineNr);
         end;
         LineNr := FindLine('<div class="pro-review">', Page, LineNr + 1);
         CountC := CountC+1;
         if CountC = LimitCritics then
             break;
      end;
   end;

   // Imágenes  y Trailers
   NumTrailers := 0;
   NumImages := 0;

   LineNr := FindLine(UTF8Encode('>Trailers <em>'), Page, 0);
   if LineNr <> -1 then
   begin
       Line := Page.GetString(LineNr);
       NumTrailers := StrToInt(TextBetween(Line, '<em>[', ']</em>'),0);
       TrailersAddress :=  'http://www.filmaffinity.com'+TextBetween(Line, 'href="', '"');
   end

   LineNr := FindLine(UTF8Encode('>Imágenes <em>'), Page, LineNr+1);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr);
      NumImages := StrToInt(TextBetween(Line, '<em>[', ']</em>'),0);
      ImagesAddress :=  'http://www.filmaffinity.com'+TextBetween(Line, 'href="', '"');
   end

   // Imágenes
   

   If NumImages > LimitImages then NumImages := LimitImages;
   if NumImages >0 then
   begin
      Page.Text := GetPage(ImagesAddress);
      LineNr := FindLine(UTF8Encode('<span>Posters</span>'), Page,0);
      if LineNr = -1 then
         LineNr := FindLine(UTF8Encode('<span>Movie Posters</span>'), Page,0);
      if LineNr =-1 then
         LineNr := FindLine(UTF8Encode('<span>Fotogramas</span>'), Page,0);
      if LineNr =-1 then
         LineNr := FindLine(UTF8Encode('span>Otros</span>'), Page,0);
      if LineNr <> -1 then
      begin
         Line := Page.GetString(LineNr);
         for i := 1 to NumImages do
         begin
             LineNr := FindLine('<a href="', Page, LineNr + 1);
             if LineNr <> -1 then
             begin
                Line := Page.GetString(LineNr);
                ExtraString := TextBetween(Line, 'href="', '"');
                ImageTitle := TextBetween(Line, 'Tipo: </strong>', '</div>');
                ExtraIndex := AddExtra();
                if GetOption('GroupImages') = 1 then
                begin
                   SetExtraField(ExtraIndex, extraFieldCategory, 'Imágenes');
                   SetExtraField(ExtraIndex, extraFieldTitle, ImageTitle);
                end
                else
                   begin
                      SetExtraField(ExtraIndex, extraFieldCategory, ImageTitle);
                      SetExtraField(ExtraIndex, extraFieldTitle, 'Imágenes')
                end;

               
                SetExtraField(ExtraIndex, extraFieldTag, ExtraTagBase+'I'+IntToStr(ExtraIndex));
                GetExtraPicture(ExtraIndex, ExtraString);
             end;
         end;
      end;
   end;

   If NumTrailers > LimitTrailers then NumTrailers := LimitTrailers;
   if NumTrailers > 0 then
   begin
      Page.Text := GetPage(TrailersAddress);
      LineNr := FindLine(UTF8Encode('>Mostrar video<'),Page,0);
      if LineNr <> -1 then
      begin
         Line := Page.GetString(LineNr);
         for i:= 1 to NumTrailers do
         begin
            LineNr := FindLine('src="', Page,LineNr + 1);
            if LineNr <> -1 then
            begin
               Line := Page.GetString(LineNr);
               ExtraString := TextBetween(Line, 'src="', '"');
               ExtraURL := TextAfter(ExtraString, '//');
               ExtraIndex := AddExtra();
               SetExtraField(ExtraIndex, extraFieldURL, ExtraURL);
               SetExtraField(ExtraIndex, extraFieldCategory, 'Trailers');
               SetExtraField(ExtraIndex, extraFieldTitle, TextBetween(ExtraString, '//', '/'))
               SetExtraField(ExtraIndex, extraFieldTag, ExtraTagBase+'T'+IntToStr(ExtraIndex));
               LineNr := FindLine(UTF8Encode('Mostrar video'), Page,LineNr + 1);
            end;
         end;
      end;
  end;
end;


//------------------------------------------------------------------------------------

begin
   if (CheckVersion(4,1,2) = false) then
   begin
      ShowMessage('Se requiere Ant Movie Catalog versión 4.1.2 o superior');
      exit;
   end;

   if (CheckVersion(4,2,0) = false) then
      SetOption('DontWantExtras', 1);

   MovieName := GetField(fieldOriginalTitle);
   if Length(MovieName) = 0 then
      MovieName := GetField(fieldTranslatedTitle);

   if GetOption('DontAsk') = 0 then
      Input('FilmAffinity', 'Pelicula:', MovieName);

   MovieName := UTF8Encode(MovieName);
   if Pos('filmaffinity.com', MovieName) > 0 then
      AnalyzeMoviePage(MovieName)
   else
      AnalyzePage(BaseURL +'/es/search.php?stext=' + UrlEncode(MovieName) + '&stype=Title');
end.
jacqlittle
Posts: 26
Joined: 2013-04-11 07:13:02

Post by jacqlittle »

Lo he estado probando y de momento ningún problema, le podrías mandar un privado a antp para que lo subiera al servidor, así para quien actualice el script lo tenga al día y tal...

Gracias y saludos.

P.D.: o en su defecto a aviloria que es el autor del script, y que actualice su thread o lo que sea más oportuno vamos...
Post Reply