Page 1 of 1

FilmAffinity script no funcionan

Posted: 2014-07-15 18:24:17
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.

FilmAffinity script no funcionan

Posted: 2015-07-18 04:02:04
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.

Posted: 2015-07-18 11:22:15
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.

Posted: 2015-07-18 16:44:25
by masterchipo
Gracias ¡FUNCIONA A LA PERFECCIÓN!
Gracias JuanRa-007

Posted: 2015-07-19 15:48:58
by antp
Thanks, I'll update it on the server

Posted: 2015-07-19 21:56:29
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.

Posted: 2015-07-20 16:13:09
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.

Posted: 2015-07-21 19:24:35
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...