[REQ] Script for playboy.com

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
DarthPeacemaker
Posts: 19
Joined: 2007-05-05 12:53:59

[REQ] Script for playboy.com

Post by DarthPeacemaker »

Hello people. ;)
I´m new here but I use AMC for a long time ago.
I have a collection of short videos from playboy (playmates, cybergirls) and I would like to extract data (biography, photo) of the page of www.playboy.com
Is possible to create an script for this?

Thanks :grinking:
legrad
Posts: 109
Joined: 2006-02-11 09:46:06
Location: Lerida-Spain

Post by legrad »

can He serve this?
Only directory playmate's information.
pardon for may english

Code: Select all

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

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

[Infos]
Authors=Legrad
Title=PlayboyBiography
Description=
Site=www.playboy.com
Language=Cine
Version=1.0
Requires=3.5.0
Comments=
License=
GetInfo=1

[Options]

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

program PlayboyBiography;
var 
  MovieName: string; 
  MovieURL: string; 

//------------------------------------------------------------------ 
                              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; 
//------------------------------------------------------------------------------------ 
                      function TextBetween(var S: string; StartTag: string; EndTag: string): 

string; 
var 
  InitialPos: Integer; 
begin 
  InitialPos := Pos(StartTag, S); 
  if InitialPos = 0 then 
    result := '' 
  else 
  begin 
    Delete(S, 1, InitialPos + Length(StartTag) - 1); 
    InitialPos := Pos(EndTag, S); 
    if InitialPos = 0 then 
      result := S 
    else 
    begin 
      result := copy(S, 1, InitialPos - 1); 
      Delete(S, 1, InitialPos + 1); 
    end; 
  end; 
end; 

//------------------------------------------------------------------------------------ 
                               function DeleteTags(var S: string): string; 
var 
   n,len, tag: Integer; 
   c: char; 
   t: String; 
begin 

   tag := 0; 
   t := ''; 
   len := length(s); 

   for n :=1 to len do 
   begin 
      c := Copy(s,n,1); 


      if c = #9 then 
         c := ' '; 

      if(tag=1) then 
      begin 
         if(c='>') then tag := 0; 
         continue; 
      end 
      else 
      begin 
         if(c='<') then 
         begin 
            tag := 1; 
            continue; 
         end; 
         t := t + c; 
      end; 
   end 
   s := t; 
   result := t; 
end; 


//------------------------------------------------------------------------------------ 
procedure AnalyzePage(Address: string); 
var 
  strPage, MovieAddr, MovieTitle, MovieDate, MovieID, Movie: string; 
  BeginPos, EndPos: Integer; 
  BeginPoss, EndPoss: Integer; 
begin 
  strPage := GetPage(Address); 
  BeginPos := Pos('en el dominio <b>www.playboy.com', strPage);
  if(BeginPos > -1)then 
    begin 
      PickTreeClear; 
      Delete(strPage, 1, BeginPos); 
      BeginPos := Pos('href="http://www.playboy.com/girls/playmates/directory/', strPage);
      EndPos := 1; 
      while ((BeginPos > 0) and (EndPos > 0)) do 

        begin 
          Delete(strPage, 1, BeginPos); 
          EndPos := Pos('" class', strPage);
          MovieId := Copy(strPage,+55, EndPos-55);
          MovieAddr := 'http://www.playboy.com/girls/playmates/directory/' + MovieId;
          BeginPoss := Pos(')"><b>',strPage);
          EndPoss := Pos('-', strPage);
          MovieTitle := Copy(strPage,BeginPoss+2, EndPoss);
          MovieTitle  := TextBetween(MovieTitle , 'class=l>', '-');
          MovieTitle  := AnsiUpFirstLetter(MovieTitle);
          DeleteTags(MovieTitle);
          PickTreeAdd(MovieTitle, MovieAddr); 
          BeginPos := Pos('href="http://www.playboy.com/girls/playmates/directory/', 

strPage);
          if(Pos('</body>', strPage) < BeginPos) then 
           BeginPos := -1; 
        end;
        PickTreeSort;

    end; 
    PickTreeExec(Address) 
    AnalyzeMoviePage(Address); 
end; 
//------------------------------------------------------------------------------------ 
procedure AnalyzeMoviePage(Address: string); 
var 
  Page: TStringList; 
  LineNr: Integer; 
  Line: string; 
  Item: string; 
  Comments: string; 
  Actors: string; 
  Directors: string; 
  Description: string;
  Busca: integer;


begin 
  Description := ''; 

  // URL 
  SetField(fieldURL, Address); 

  Page := TStringList.Create; 
  Page.Text := GetPage(Address); 
  // Name
  LineNr := FindLine('<span class="pmd_pm_name">', Page, 0);
  if LineNr <> -1 then 
  begin 
    Line := Page.GetString(LineNr); 
    Item := TextBetween (Line, '<span class="pmd_pm_name">', '</span><br>');
    DeleteTags (Item); 
    Item  := AnsiUpFirstLetter(Item ); 
    HTMLDecode(Item); 
    SetField(fieldOriginalTitle, Trim (Item)); 
  end; 

  // Description1
 LineNr := FindLine('<span class="pmd_pm_name">', Page, 0);
  if LineNr > 0 then 
  begin 
    Item := copy(Page.Text, pos('<span class="pmd_pm_name">',Page.Text), length(Page.Text));
    Item := TextBetween (Item, '<span class="pmd_body1"><b>', '</p></td>');
    Item := StringReplace(Item ,#13#10, '');
    Item  := StringReplace(Item , '<br />',#13#10);
    Item  := StringReplace(Item , '            				<b>','');
    Item  := StringReplace(Item , '            				Playboy Playmate Pic 

and Data Sheet','');
    Item  := StringReplace(Item , '</b><br>',#13#10);
    DeleteTags (Item); 
    Item  := Trim(Item ); 
    HTMLDecode(Item);
    Item  := StringReplace(Item , '       ','');
    SetField(fieldActors, Trim (Item));
  end;
  // Description2
 LineNr := FindLine('href="http://tours.', Page, 0);
  if LineNr > 0 then
  begin
    Item := copy(Page.Text, pos('href="http://tours.',Page.Text), length(Page.Text));
    Item := TextBetween (Item, 'class="pmd_boldblue">', '</tr>');
    Item := StringReplace(Item ,#13#10, '');
    DeleteTags (Item);
    Item  := Trim(Item );
    HTMLDecode(Item);
    Item  := StringReplace(Item , '                         ',#13#10);
    Item  := StringReplace(Item , '                       ',#13#10);
    Item  := StringReplace(Item , '              ',#13#10);
    SetField(fieldDescription, Trim (Item));
  end;
  // Photo
  LineNr := FindLine('src="imx/', Page, 0);
  if LineNr <> -1 then
  begin
     Line := Page.GetString(LineNr);
     Item := TextBetween (Line, 'src="imx/', '" width=');
     GetPicture ('http://www.playboy.com/girls/playmates/directory/imx/'+Item);
  end;
end;
 //-------------------------------------------------------------------------
begin 
       if (CheckVersion(3,5,0)=FALSe) then 
   begin 
      ShowMessage('Se requiere Ant Movie Catalog versión 3.5 o superior'); 
      exit; 
   end; 

   MovieName := GetField(fieldOriginalTitle); 
   if MovieName = '' then 
            MovieName := GetField(fieldTranslatedTitle); 
Input('PlayboyBiography', 'Search:', MovieName); 

     if(GetOption('No results') = 0) then  Input('PlayboyBiography', 'Search:', MovieName); 

   AnalyzePage('http://www.google.es/search?num=100&hl=es&as_qdr=all&q=allintitle%3A++%22' + 

UrlEncode(MovieName)+'%22+site%3Ahttp%3A%2F%2Fwww.playboy.com%2Fgirls%2Fplaymates%2Fdirectory

%2F&btnG=B%C3%BAsqueda&meta=');
end. 
DarthPeacemaker
Posts: 19
Joined: 2007-05-05 12:53:59

Post by DarthPeacemaker »

Thanks but don't work properly (appears this error) :/
"string error in line 173"
Item := StringReplace(Item , ' Playboy Playmate Pic
The script is valid also for cybergirls or only for playmates?

You know some tutorial to do my own scripts?

Sorry but my english is also very bad

Thanks legrad :wink:
antp
Site Admin
Posts: 9652
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

The text was wrapped to the next line, so you have to remove the linebreak + empty line to have "Playboy Playmate Pic and Data Sheet" on same line
DarthPeacemaker
Posts: 19
Joined: 2007-05-05 12:53:59

Post by DarthPeacemaker »

Thanks antp.
There is a new error in the line 222
UrlEncode(MovieName)+'%22+site%3Ahttp%3A%2F%2Fwww.playboy.com%2Fgirls%2Fplaymates%2Fdirectory
Thanks all :wink:
antp
Site Admin
Posts: 9652
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

same problem: the line is cut at next line, so you have to remove blanks and linebreak between "directory" and the %2... that is further.
DarthPeacemaker
Posts: 19
Joined: 2007-05-05 12:53:59

Post by DarthPeacemaker »

same problem: the line is cut at next line, so you have to remove blanks and linebreak between "directory" and the %2... that is further.
Now work properly antp:grinking:

Gracias legrad (los 2 escribiendo in bad inglish y seguro que nos entendemos mejor in spañol de spain). No esperaba encontrar un paisano por estos lares :p Me dí cuenta al ver que el script viene en español :lol:

¿Que tendría que modificar para buscar también datos de cybergirls, coeds...)
supongo que cambiar la linea:

http://www.playboy.com/girls/playmates/directory/
por
http://www.playboy.com/girls/cybergirls/directory/imx/

en todos los sitios donde aparezca....

Thanks legrad and Antp
legrad
Posts: 109
Joined: 2006-02-11 09:46:06
Location: Lerida-Spain

Post by legrad »

El problema que no es que sea tal es que el directorio playmate sigue una estructura de datos distinta a la estructura que maneja el directorio de cybergirls, esto quiere decir que lo recomendable en este caso deberia haber dos scripts uno para playmate y otro cybergirls.
Se podria hacer todo en un solo script, el problema es que aparecerian un monton de resultados en las busquedas que no llevan a los datos, y no podrias distinguir los que si conducen a los datos de los otros.
Dime si hay algun directorio mas aparte de los dos mencionados
Si te interesa puedo hace otro para para cybergirls, y sino todo en uno con las pegas descritas. asi tambien si te va bien puede traducirse los campos.
BIRTHPLACE por Lugar de nacimiento
BUST:por Busto
WAIST:por cintura
HIPS: por caderas
HEIGHT: por altura
WEIGHT: por peso
AMBITIONS:por ambiciones
TURN-ONS:por gustos
etc..
y otros campos que digas
legrad
Posts: 109
Joined: 2006-02-11 09:46:06
Location: Lerida-Spain

Post by legrad »

Olvidaba decirte que en el script tambien se puede ampliar para que origionaltitle y translatedtitle contengan el mismo dato
DarthPeacemaker
Posts: 19
Joined: 2007-05-05 12:53:59

Post by DarthPeacemaker »

Ante todo, gracias por tu ayuda ;) .

Ya me imaginaba yo que sería necesario un script para cada directorio. :ha:

En principio los que me interesan son
Playmates
OTM
OTY

Cybergirls
OTW (semana)
OTM (mes)
OTY (año)

Coeds
OTW
OTM

(en negrita los que mas me molan)
El script que ya has hecho me parece que funciona bien y no precisa mas cambios. Hombre ya que eres spanish talker, igual sí se podria poner todo lo que indicas en español, pero por mi ya me vale :grinking:

Lo cierto es que soy nuevo por aquí y tampoco quiero abusar de vuestra paciencia :hum: , así que si me pudieras explicar como podría yo hacer para que a partir del tuyo, duplicarlos y construir los demás, pues sería menos curro pa ti.

Lo que hagas me parecerá bien.

Muchas gracias de nuevo. :grinking:
DarthPeacemaker
Posts: 19
Joined: 2007-05-05 12:53:59

Post by DarthPeacemaker »

legrad wrote:Olvidaba decirte que en el script tambien se puede ampliar para que origionaltitle y translatedtitle contengan el mismo dato
No estaría mal.
Una cosa que si molaría es que en el script que ya tienes te rellenara por defecto el campo "tipo de soporte" con playmate. (lo que cambiaría en los diferentes scripts según el directorio....) :wink:
legrad
Posts: 109
Joined: 2006-02-11 09:46:06
Location: Lerida-Spain

Post by legrad »

Por la complejidad de los datos, no he tenido mas remedio que hacer tres scripts.
PlayboyBiographyPlaymate(ES)
PlayboyBiographyCybergirls(ES)
PlayboyBiographyCoeds(ES)
En todos ellos hay unas lineas ejemplo:
----------------------------------------------------------------------------
Cadena := StringReplace(Cadena, 'BIRTHPLACE','LUGAR DE NACIMIENTO');
----------------------------------------------------------------------------
Para que tu mismo a traves del blog de notas añadas lineas de estas a conveniencia, cambiando la palabra inglesa que esta entre comillas por la española que esta entre comillas.Esto hara que se traduzca el dato, yo por mi parte ya he puesto las que me han ido saliendo, por otra parte en comentarios añado el vinculo al video.swf si lo hay.
Tambien te he puesto el tipo de soporte dependiendo del origen de los datos, espero que te sirvan los scripts un saludo.

PlayboyBiographyPlaymate(ES)
------------------------------------

Code: Select all

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

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

[Infos]
Authors=Legrad
Title=PlayboyBiography-Playmates
Description=
Site=www.playboy.com
Language=ES
Version=1.0
Requires=3.5.0
Comments=
License=
GetInfo=1

[Options]

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

program PlayboyBiographyPlaymates;
var 
  MovieName: string; 
  MovieURL: string;
//---------------------------------------------------------
function BorraComillas(var S: string): string;
var
   n,len, tag: Integer;
   c: char;
   t: String;
begin
   tag := 0;
   t := '';
   len := length(s);
   for n :=1 to len do
   begin
     c := Copy(s,n,1);
     if c = '''' then
        c := ' ';
        t := t + c;
   end
   s := t;
   result := t;
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; 
//------------------------------------------------------------------------------------ 
                      function TextBetween(var S: string; StartTag: string; EndTag: string): string; 
var 
  InitialPos: Integer; 
begin 
  InitialPos := Pos(StartTag, S); 
  if InitialPos = 0 then 
    result := '' 
  else 
  begin 
    Delete(S, 1, InitialPos + Length(StartTag) - 1); 
    InitialPos := Pos(EndTag, S); 
    if InitialPos = 0 then 
      result := S 
    else 
    begin 
      result := copy(S, 1, InitialPos - 1); 
      Delete(S, 1, InitialPos + 1); 
    end; 
  end; 
end; 

//------------------------------------------------------------------------------------ 
                               function DeleteTags(var S: string): string; 
var 
   n,len, tag: Integer; 
   c: char; 
   t: String; 
begin 

   tag := 0; 
   t := ''; 
   len := length(s); 

   for n :=1 to len do 
   begin 
      c := Copy(s,n,1); 


      if c = #9 then 
         c := ' '; 

      if(tag=1) then 
      begin 
         if(c='>') then tag := 0; 
         continue; 
      end 
      else 
      begin 
         if(c='<') then 
         begin 
            tag := 1; 
            continue; 
         end; 
         t := t + c; 
      end; 
   end 
   s := t; 
   result := t; 
end; 

//------------------------------------------------------------------------------------ 
function Reemplazar(Cadena: string) :string;
begin
          Cadena := StringReplace(Cadena, 'BIRTHPLACE','LUGAR DE NACIMIENTO');
          Cadena := StringReplace(Cadena, 'BUST','BUSTO');
          Cadena := StringReplace(Cadena, 'WAIST','CINTURA');
          Cadena := StringReplace(Cadena, 'HIPS','CADERAS');
          Cadena := StringReplace(Cadena, 'HEIGHT','ALTURA');
          Cadena := StringReplace(Cadena, 'WEIGHT','PESO');
          Cadena := StringReplace(Cadena, 'Birthplace','LUGAR DE NACIMIENTO');
          Cadena := StringReplace(Cadena, 'Bust','BUSTO');
          Cadena := StringReplace(Cadena, 'Waist','CINTURA');
          Cadena := StringReplace(Cadena, 'Hips','CADERAS');
          Cadena := StringReplace(Cadena, 'Height','ALTURA');
          Cadena := StringReplace(Cadena, 'Weight','PESO');
          Cadena := StringReplace(Cadena, 'AMBITIONS','AMBICIONES');
          Cadena := StringReplace(Cadena, 'TURN-ONS','GUSTOS');
          Cadena := StringReplace(Cadena, 'TURNOFFS','INCLINACIONES');
          Cadena := StringReplace(Cadena, 'WHEN I WAS YOUNGER','CUANDO ERA MENOR');
          Cadena := StringReplace(Cadena, 'THEN I LEARNED','ADEMAS APRENDI');
          Cadena := StringReplace(Cadena, 'NOW I KNOW','HOY DIA SE');
          Cadena := StringReplace(Cadena, 'FAVORITE APPLIANCES','APARATOS PREFERIDOS');
          Cadena := StringReplace(Cadena, 'WHAT MEN DO BETTER THAN WOMEN','LO QUE HACEN MEJOR LOS HOMBRES QUE LAS MUJERES');
          Cadena := StringReplace(Cadena, 'PERSONAL PHOBIA','FOBIAS');
          Cadena := StringReplace(Cadena, 'FAVORITE VIDEO','VIDEO PREFERIDO');
          Cadena := StringReplace(Cadena, 'DREAM TREK','VIAJE SOÑADO');
          Cadena := StringReplace(Cadena, 'THE MAN I LOVE','EL HOMBRE QUE AMO');
          Cadena := StringReplace(Cadena, 'NO ONE WOULD BELIEVE','NADIE CREE');
          Cadena := StringReplace(Cadena, 'ALL I WANT FOR CHRISTMAS','LO QUE QUIERO EN NAVIDAD');
          Cadena := StringReplace(Cadena, 'FAVORITE AUTHORS','AUTORES PREFERIDOS');
          Cadena := StringReplace(Cadena, 'FAVORITE STIMULANT','ESTIMULANTE PREFERIDO');
          Cadena := StringReplace(Cadena, 'SELF-DESCRIPTION','Auto-DESCRIPCIÓN');
          Cadena := StringReplace(Cadena, 'LOVE HINT','INDICIO DE AMOR');
          Cadena := StringReplace(Cadena, 'ULTIMATE GOAL','OBJETIVO FINAL');
          Cadena := StringReplace(Cadena, 'FAVORITE BOOKS','LIBROS PREFERIDOS');
          Cadena := StringReplace(Cadena, 'FAVORITE PERFORMERS','ACTORES PREFERIDOS');
          Cadena := StringReplace(Cadena, 'FAVORITE SPORTS','DEPORTES PREFERIDOS');
          Cadena := StringReplace(Cadena, 'IDEAL MAN','HOMBRE IDEAL');
          Cadena := StringReplace(Cadena, 'SECRET FANTASY','FANTASIA SECRETA');
          Cadena := StringReplace(Cadena, 'NOTE','NOTA');
          Cadena := StringReplace(Cadena, 'EVERY WOMAN SHOULD HAVE','TODA MUJER DEBERÍA TENER');
          Cadena := StringReplace(Cadena, 'FAVORITE OUTDOOR ACTIVITIES','ACTIVIDADES AL AIRE LIBRE PREFERIDAS');
          Cadena := StringReplace(Cadena, 'FAVORITE MOVIE AND WHY','PELICULA PREFERIDA');
          Cadena := StringReplace(Cadena, 'PLACES I WANT TO VISIT AND WHY','LUGARES QUE QUIERO VISITAR');
result := Cadena;
end;
//---------------------------------------------------------------------
procedure AnalyzePage(Address: string);
var 
  strPage,MovieAddr,MovieTitle,MovieID: string;
  BeginPos,EndPos: Integer;

begin 
  strPage := GetPage(Address); 
  BeginPos := Pos('en el dominio <b>www.playboy.com/girls', strPage);
  if(BeginPos > -1)then 
    begin 
      PickTreeClear; 
      Delete(strPage, 1, BeginPos); 
      BeginPos := Pos('ref="http://www.playboy.com/girls/playmates/', strPage);
      EndPos := 1;
      while ((BeginPos > 0) and (EndPos > 0)) do
        begin 
          Delete(strPage, 1, BeginPos);
          EndPos := Pos('" class', strPage);
          MovieId := Copy(strPage,+44, EndPos-44);
          BorraComillas(MovieId);
          MovieAddr := 'http://www.playboy.com/girls/playmates/' + MovieId;
          BeginPos := Pos(')"',strPage);
          EndPos := Pos('</h2>', strPage);
          MovieTitle := Copy(strPage,BeginPos, EndPos);
          MovieTitle  := TextBetween(MovieTitle , '>', '-');
          //MovieTitle  := AnsiUpFirstLetter(MovieTitle);
          DeleteTags(MovieTitle);
          PickTreeAdd(MovieTitle,MovieAddr);
          BeginPos := Pos('ref="http://www.playboy.com/girls/playmates/', strPage);
          if(Pos('</body>', strPage) < BeginPos) then
          BeginPos := -1;
        end;
        PickTreeSort;

    end;
    PickTreeExec(Address);
    AnalyzeMoviePage(Address);
    end;
//------------------------------------------------------------------------------------ 
procedure AnalyzeMoviePage(Address: string); 
var 
  Page: TStringList; 
  LineNr: Integer; 
  Line: string;
  Busca: Integer;
  Item: string; 
  Comments: string; 
  Actors: string; 
  Directors: string; 
  Description: string;
begin 

  // URL 
  SetField(fieldURL, Address); 
  Page := TStringList.Create; 
  Page.Text := GetPage(Address);
  //photo
  LineNr := FindLine('                						<img src="', Page, 0);
  if LineNr <> -1 then
  begin
     Line := Page.GetString(LineNr);
     Item := TextBetween (Line, '<img src="', '" width');
     Item  := StringReplace(Item , '.html','.jpg');
     GetPicture('http://www.playboy.com/girls/playmates/directory/'+Item);
  end;
  // MEDITYPE
  SetField(fieldMediaType, ('Playmate'));
  // Name
  LineNr := FindLine('<span class="pmd_pm_name">', Page, 0);
  if LineNr <> -1 then 
  begin 
    Line := Page.GetString(LineNr); 
    Item := TextBetween (Line, '<span class="pmd_pm_name">', '</span><br>');
    DeleteTags (Item); 
    Item  := AnsiUpFirstLetter(Item ); 
    HTMLDecode(Item); 
    SetField(fieldOriginalTitle, Trim (Item));
    SetField(fieldTranslatedTitle,(Item));
  end;
// Description1
 LineNr := FindLine('<span class="pmd_pm_name">', Page, 0);
  if LineNr > 0 then 
  begin 
    Item := copy(Page.Text, pos('<span class="pmd_pm_name">',Page.Text), length(Page.Text));
    Item := TextBetween (Item, '<span class="pmd_body1"><b>', '</p></td>');
    Item := StringReplace(Item ,#13#10, '');
    Item  := StringReplace(Item , '<br />',#13#10);
    Item  := StringReplace(Item , '            				<b>','');
    Item  := StringReplace(Item , '            				Playboy Playmate Pic and Data Sheet','');
    Item  := StringReplace(Item , '</b><br>',#13#10);
    DeleteTags (Item); 
    Item  := Trim(Item ); 
    HTMLDecode(Item);
    Item  := StringReplace(Item , '       ','');
    Item  := StringReplace(Item , '  ','');
    Item  := Reemplazar (Item);
    SetField(fieldActors, Trim (Item));
  end;
  // Description2
  LineNr := FindLine('href="http://tours.', Page, 0);
  if LineNr > 0 then
  begin
    Item := copy(Page.Text, pos('href="http://tours.',Page.Text), length(Page.Text));
    Item := TextBetween (Item, 'class="pmd_boldblue">', '</tr>');
    Item := StringReplace(Item ,#13#10, '');
    DeleteTags (Item);
    Item  := Trim(Item );
    HTMLDecode(Item);
    Item  := StringReplace(Item , '                         ',#13#10);
    Item  := StringReplace(Item , '                       ',#13#10);
    Item  := StringReplace(Item , '              ',#13#10);
    Item  := StringReplace(Item , '  ','');
    Item  := Reemplazar (Item);
    SetField(fieldDescription, Trim (Item));
  end;
end;
 //-------------------------------------------------------------------------
begin 
       if (CheckVersion(3,5,0)=FALSe) then 
   begin 
      ShowMessage('Se requiere Ant Movie Catalog versión 3.5 o superior'); 
      exit; 
   end; 

   MovieName := GetField(fieldOriginalTitle); 
   if MovieName = '' then 
            MovieName := GetField(fieldTranslatedTitle); 
Input('Playmates', 'Search:', MovieName); 

     if(GetOption('No results') = 0) then  Input('Playmates', 'Search:', MovieName); 

   AnalyzePage('http://www.google.es/search?num=100&hl=es&as_qdr=all&q=allintitle%3A++%22' + UrlEncode(MovieName)+'%22+site%3Awww.playboy.com%2Fgirls%2Fplaymates%2F&btnG=B%C3%BAsqueda&meta=');
end. 
PlayboyBiographyCybergirls(ES)
--------------------------------------------------

Code: Select all

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

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

[Infos]
Authors=Legrad
Title=PlayboyBiography-Cybergirls
Description=
Site=www.playboy.com
Language=ES
Version=1.0
Requires=3.5.0
Comments=
License=
GetInfo=1

[Options]

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

program PlayboyBiographyCybergirls;
var 
  MovieName: string; 
  MovieURL: string;
//---------------------------------------------------------
function BorraComillas(var S: string): string;
var
   n,len, tag: Integer;
   c: char;
   t: String;
begin
   tag := 0;
   t := '';
   len := length(s);
   for n :=1 to len do
   begin
     c := Copy(s,n,1);
     if c = '''' then
        c := ' ';
        t := t + c;
   end
   s := t;
   result := t;
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; 
//------------------------------------------------------------------------------------ 
                      function TextBetween(var S: string; StartTag: string; EndTag: string): string; 
var 
  InitialPos: Integer; 
begin 
  InitialPos := Pos(StartTag, S); 
  if InitialPos = 0 then 
    result := '' 
  else 
  begin 
    Delete(S, 1, InitialPos + Length(StartTag) - 1); 
    InitialPos := Pos(EndTag, S); 
    if InitialPos = 0 then 
      result := S 
    else 
    begin 
      result := copy(S, 1, InitialPos - 1); 
      Delete(S, 1, InitialPos + 1); 
    end; 
  end; 
end; 

//------------------------------------------------------------------------------------ 
                               function DeleteTags(var S: string): string; 
var 
   n,len, tag: Integer; 
   c: char; 
   t: String; 
begin 

   tag := 0; 
   t := ''; 
   len := length(s); 

   for n :=1 to len do 
   begin 
      c := Copy(s,n,1); 


      if c = #9 then 
         c := ' '; 

      if(tag=1) then 
      begin 
         if(c='>') then tag := 0; 
         continue; 
      end 
      else 
      begin 
         if(c='<') then 
         begin 
            tag := 1; 
            continue; 
         end; 
         t := t + c; 
      end; 
   end 
   s := t; 
   result := t; 
end; 

//------------------------------------------------------------------------------------ 
function Reemplazar(Cadena: string) :string;
begin
          Cadena := StringReplace(Cadena, 'BIRTHPLACE','LUGAR DE NACIMIENTO');
          Cadena := StringReplace(Cadena, 'BUST','BUSTO');
          Cadena := StringReplace(Cadena, 'WAIST','CINTURA');
          Cadena := StringReplace(Cadena, 'HIPS','CADERAS');
          Cadena := StringReplace(Cadena, 'HEIGHT','ALTURA');
          Cadena := StringReplace(Cadena, 'WEIGHT','PESO');
          Cadena := StringReplace(Cadena, 'Birthplace','LUGAR DE NACIMIENTO');
          Cadena := StringReplace(Cadena, 'Bust','BUSTO');
          Cadena := StringReplace(Cadena, 'Waist','CINTURA');
          Cadena := StringReplace(Cadena, 'Hips','CADERAS');
          Cadena := StringReplace(Cadena, 'Height','ALTURA');
          Cadena := StringReplace(Cadena, 'Weight','PESO');
          Cadena := StringReplace(Cadena, 'Measurements','DIMENSIONES');
          Cadena := StringReplace(Cadena, 'Date of Birth','FECHA DE NACIMIENTO');
          Cadena := StringReplace(Cadena, 'AMBITIONS','AMBICIONES');
          Cadena := StringReplace(Cadena, 'TURN-ONS','GUSTOS');
          Cadena := StringReplace(Cadena, 'TURNOFFS','INCLINACIONES');
          Cadena := StringReplace(Cadena, 'WHEN I WAS YOUNGER','CUANDO ERA MENOR');
          Cadena := StringReplace(Cadena, 'THEN I LEARNED','ADEMAS APRENDI');
          Cadena := StringReplace(Cadena, 'NOW I KNOW','HOY DIA SE');
          Cadena := StringReplace(Cadena, 'FAVORITE APPLIANCES','APARATOS PREFERIDOS');
          Cadena := StringReplace(Cadena, 'WHAT MEN DO BETTER THAN WOMEN','LO QUE HACEN MEJOR LOS HOMBRES QUE LAS MUJERES');
          Cadena := StringReplace(Cadena, 'PERSONAL PHOBIA','FOBIAS');
          Cadena := StringReplace(Cadena, 'FAVORITE VIDEO','VIDEO PREFERIDO');
          Cadena := StringReplace(Cadena, 'DREAM TREK','VIAJE SOÑADO');
          Cadena := StringReplace(Cadena, 'THE MAN I LOVE','EL HOMBRE QUE AMO');
          Cadena := StringReplace(Cadena, 'NO ONE WOULD BELIEVE','NADIE CREE');
          Cadena := StringReplace(Cadena, 'ALL I WANT FOR CHRISTMAS','LO QUE QUIERO EN NAVIDAD');
          Cadena := StringReplace(Cadena, 'FAVORITE AUTHORS','AUTORES PREFERIDOS');
          Cadena := StringReplace(Cadena, 'FAVORITE STIMULANT','ESTIMULANTE PREFERIDO');
          Cadena := StringReplace(Cadena, 'SELF-DESCRIPTION','Auto-DESCRIPCIÓN');
          Cadena := StringReplace(Cadena, 'LOVE HINT','INDICIO DE AMOR');
          Cadena := StringReplace(Cadena, 'ULTIMATE GOAL','OBJETIVO FINAL');
          Cadena := StringReplace(Cadena, 'FAVORITE BOOKS','LIBROS PREFERIDOS');
          Cadena := StringReplace(Cadena, 'FAVORITE PERFORMERS','ACTORES PREFERIDOS');
          Cadena := StringReplace(Cadena, 'FAVORITE SPORTS','DEPORTES PREFERIDOS');
          Cadena := StringReplace(Cadena, 'IDEAL MAN','HOMBRE IDEAL');
          Cadena := StringReplace(Cadena, 'SECRET FANTASY','FANTASIA SECRETA');
          Cadena := StringReplace(Cadena, 'NOTE','NOTA');
          Cadena := StringReplace(Cadena, 'EVERY WOMAN SHOULD HAVE','TODA MUJER DEBERÍA TENER');
          Cadena := StringReplace(Cadena, 'FAVORITE OUTDOOR ACTIVITIES','ACTIVIDADES AL AIRE LIBRE PREFERIDAS');
          Cadena := StringReplace(Cadena, 'FAVORITE MOVIE AND WHY','PELICULA PREFERIDA');
          Cadena := StringReplace(Cadena, 'PLACES I WANT TO VISIT AND WHY','LUGARES QUE QUIERO VISITAR');
result := Cadena;
end;
//---------------------------------------------------------------------
procedure AnalyzePage(Address: string);
var 
  strPage,MovieAddr,MovieTitle,MovieID: string;
  BeginPos,EndPos: Integer;

begin 
  strPage := GetPage(Address); 
  BeginPos := Pos('en el dominio <b>www.playboy.com/girls', strPage);
  if(BeginPos > -1)then 
    begin 
      PickTreeClear; 
      Delete(strPage, 1, BeginPos); 
      BeginPos := Pos('ref="http://www.playboy.com/girls/cybergirls/', strPage);
      EndPos := 1;
      while ((BeginPos > 0) and (EndPos > 0)) do
        begin 
          Delete(strPage, 1, BeginPos);
          EndPos := Pos('" class', strPage);
          MovieId := Copy(strPage,+45, EndPos-45);
          BorraComillas(MovieId);
          MovieAddr := 'http://www.playboy.com/girls/cybergirls/' + MovieId;
          BeginPos := Pos(')"',strPage);
          EndPos := Pos('</h2>', strPage);
          MovieTitle := Copy(strPage,BeginPos, EndPos);
          MovieTitle  := TextBetween(MovieTitle , '>', 'Nude');
          //MovieTitle  := AnsiUpFirstLetter(MovieTitle);
          DeleteTags(MovieTitle);
          PickTreeAdd(MovieTitle,MovieAddr);
          BeginPos := Pos('ref="http://www.playboy.com/girls/cybergirls/', strPage);
          if(Pos('</body>', strPage) < BeginPos) then
          BeginPos := -1;
        end;
        PickTreeSort;

    end;
    PickTreeExec(Address);
    AnalyzeMoviePage(Address);
    end;
//------------------------------------------------------------------------------------ 
procedure AnalyzeMoviePage(Address: string); 
var 
  Page: TStringList; 
  LineNr: Integer; 
  Line: string; 
  Item: string; 
  URL: string;
  Comments: string; 
  Actors: string; 
  Directors: string; 
  Description: string;
  Busca: integer;
begin 

  // URL 
  SetField(fieldURL, Address); 
  Page := TStringList.Create; 
  Page.Text := GetPage(Address);
  
  //photo
  LineNr := FindLine('url=http://www.playboy.com/girls/cybergirls/', Page, 0);
  if LineNr <> -1 then
     begin
       Line := Page.GetString(LineNr);
       Busca := FindLine('-large1', Page, 0);
       if Busca <> -1 then
          begin
            Item := TextBetween (Line, 'url=http://www.playboy.com/girls/cybergirls/', '" target');
            GetPicture ('http://www.playboy.com/girls/cybergirls/'+Item+'-large1.jpg');
          end
       else
          begin
            Item := TextBetween (Line, 'src="', '" alt');
            GetPicture ('http://www.playboy.com/girls/cybergirls/'+Item+'-medium1.jpg');
          end
     end;
  // MEDITYPE
  SetField(fieldMediaType, ('Cybergirls'));
  // Name
  LineNr := FindLine('<!--tab 3 text -->', Page, 0);
  if LineNr > 0 then
  begin
    Item := copy(Page.Text, pos('<!--tab 3 text -->',Page.Text), length(Page.Text));
    Item := TextBetween (Item, '<!--tab 3 text -->', '<br />');
    Item := StringReplace(Item ,#13#10,'');
    DeleteTags (Item); 
    Item  := AnsiUpFirstLetter(Item ); 
    HTMLDecode(Item); 
    SetField(fieldOriginalTitle, Trim (Item));
    SetField(fieldTranslatedTitle,(Item));
  end;
// Description1
 LineNr := FindLine('<!--tab 3 text -->', Page, 0);
  if LineNr > 0 then 
  begin 
    Item := copy(Page.Text, pos('<!--tab 3 text -->',Page.Text), length(Page.Text));
    Item := TextBetween (Item, '<br />', '<!--END tab 3 text -->');
    Item := StringReplace(Item ,#13#10, '');
    Item := StringReplace(Item ,'<br />',#13#10);
    DeleteTags (Item); 
    Item  := Trim(Item ); 
    HTMLDecode(Item);
    Item  := Reemplazar (Item);
    SetField(fieldActors, Trim ('LUGAR DE NACIMIENTO: '+Item));
  end;
  // Description2
  LineNr := FindLine('<!--tab 2 text -->', Page, 0);
  if LineNr > 0 then
  begin
    Item := copy(Page.Text, pos('<!--tab 2 text -->',Page.Text), length(Page.Text));
    Item := TextBetween (Item, '<!--tab 2 text -->', '<!--END tab 2 text-->');
    Item := StringReplace(Item ,#13#10,'');
    DeleteTags (Item);
    Item  := Trim(Item );
    HTMLDecode(Item);
    Item  := Reemplazar (Item);
    SetField(fieldDescription, Trim (Item));
  end;
// Video
  LineNr := FindLine('url=http://www.playboy.com/girls/cybergirls/', Page, 0);
  if LineNr <> -1 then
  begin
     Line := Page.GetString(LineNr);
     Item := TextBetween (Line, 'url=http://www.playboy.com/girls/cybergirls/', '" target');
     SetField(fieldComments, Trim ('Acceso directo al video:'+#13#10+'http://www.playboy.com/girls/cybergirls/'+Item+'-player.swf'));
  end;
end;
 //-------------------------------------------------------------------------
begin 
       if (CheckVersion(3,5,0)=FALSe) then 
   begin 
      ShowMessage('Se requiere Ant Movie Catalog versión 3.5 o superior'); 
      exit; 
   end; 

   MovieName := GetField(fieldOriginalTitle); 
   if MovieName = '' then 
            MovieName := GetField(fieldTranslatedTitle); 
Input('Cybergirls', 'Search:', MovieName); 

     if(GetOption('No results') = 0) then  Input('Cybergirls', 'Search:', MovieName); 

   AnalyzePage('http://www.google.es/search?num=100&hl=es&as_qdr=all&q=allintitle%3A++%22' + UrlEncode(MovieName)+'%22+site%3Awww.playboy.com%2Fgirls%2FCybergirls%2F&btnG=B%C3%BAsqueda&meta=');
end. 
PlayboyBiographyCoeds(ES)
-------------------------------------------

Code: Select all

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

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

[Infos]
Authors=Legrad
Title=PlayboyBiography-Coeds
Description=
Site=www.playboy.com
Language=ES
Version=1.0
Requires=3.5.0
Comments=
License=
GetInfo=1

[Options]

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

program PlayboyBiographyCoeds;
var 
  MovieName: string; 
  MovieURL: string;
//---------------------------------------------------------
function BorraComillas(var S: string): string;
var
   n,len, tag: Integer;
   c: char;
   t: String;
begin
   tag := 0;
   t := '';
   len := length(s);
   for n :=1 to len do
   begin
     c := Copy(s,n,1);
     if c = '''' then
        c := ' ';
        t := t + c;
   end
   s := t;
   result := t;
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; 
//------------------------------------------------------------------------------------ 
                      function TextBetween(var S: string; StartTag: string; EndTag: string): string; 
var 
  InitialPos: Integer; 
begin 
  InitialPos := Pos(StartTag, S); 
  if InitialPos = 0 then 
    result := '' 
  else 
  begin 
    Delete(S, 1, InitialPos + Length(StartTag) - 1); 
    InitialPos := Pos(EndTag, S); 
    if InitialPos = 0 then 
      result := S 
    else 
    begin 
      result := copy(S, 1, InitialPos - 1); 
      Delete(S, 1, InitialPos + 1); 
    end; 
  end; 
end; 

//------------------------------------------------------------------------------------ 
                               function DeleteTags(var S: string): string; 
var 
   n,len, tag: Integer; 
   c: char; 
   t: String; 
begin 

   tag := 0; 
   t := ''; 
   len := length(s); 

   for n :=1 to len do 
   begin 
      c := Copy(s,n,1); 


      if c = #9 then 
         c := ' '; 

      if(tag=1) then 
      begin 
         if(c='>') then tag := 0; 
         continue; 
      end 
      else 
      begin 
         if(c='<') then 
         begin 
            tag := 1; 
            continue; 
         end; 
         t := t + c; 
      end; 
   end 
   s := t; 
   result := t; 
end; 

//------------------------------------------------------------------------------------ 
function Reemplazar(Cadena: string) :string;
begin
          Cadena := StringReplace(Cadena, 'BIRTHPLACE','LUGAR DE NACIMIENTO');
          Cadena := StringReplace(Cadena, 'BUST','BUSTO');
          Cadena := StringReplace(Cadena, 'WAIST','CINTURA');
          Cadena := StringReplace(Cadena, 'HIPS','CADERAS');
          Cadena := StringReplace(Cadena, 'HEIGHT','ALTURA');
          Cadena := StringReplace(Cadena, 'WEIGHT','PESO');
          Cadena := StringReplace(Cadena, 'Birthplace','LUGAR DE NACIMIENTO');
          Cadena := StringReplace(Cadena, 'Bust','BUSTO');
          Cadena := StringReplace(Cadena, 'Waist','CINTURA');
          Cadena := StringReplace(Cadena, 'Hips','CADERAS');
          Cadena := StringReplace(Cadena, 'Height','ALTURA');
          Cadena := StringReplace(Cadena, 'Weight','PESO');
          Cadena := StringReplace(Cadena, 'Measurements','DIMENSIONES');
          Cadena := StringReplace(Cadena, 'Date of Birth','FECHA DE NACIMIENTO');
          Cadena := StringReplace(Cadena, 'AMBITIONS','AMBICIONES');
          Cadena := StringReplace(Cadena, 'TURN-ONS','GUSTOS');
          Cadena := StringReplace(Cadena, 'TURNOFFS','INCLINACIONES');
          Cadena := StringReplace(Cadena, 'WHEN I WAS YOUNGER','CUANDO ERA MENOR');
          Cadena := StringReplace(Cadena, 'THEN I LEARNED','ADEMAS APRENDI');
          Cadena := StringReplace(Cadena, 'NOW I KNOW','HOY DIA SE');
          Cadena := StringReplace(Cadena, 'FAVORITE APPLIANCES','APARATOS PREFERIDOS');
          Cadena := StringReplace(Cadena, 'WHAT MEN DO BETTER THAN WOMEN','LO QUE HACEN MEJOR LOS HOMBRES QUE LAS MUJERES');
          Cadena := StringReplace(Cadena, 'PERSONAL PHOBIA','FOBIAS');
          Cadena := StringReplace(Cadena, 'FAVORITE VIDEO','VIDEO PREFERIDO');
          Cadena := StringReplace(Cadena, 'DREAM TREK','VIAJE SOÑADO');
          Cadena := StringReplace(Cadena, 'THE MAN I LOVE','EL HOMBRE QUE AMO');
          Cadena := StringReplace(Cadena, 'NO ONE WOULD BELIEVE','NADIE CREE');
          Cadena := StringReplace(Cadena, 'ALL I WANT FOR CHRISTMAS','LO QUE QUIERO EN NAVIDAD');
          Cadena := StringReplace(Cadena, 'FAVORITE AUTHORS','AUTORES PREFERIDOS');
          Cadena := StringReplace(Cadena, 'FAVORITE STIMULANT','ESTIMULANTE PREFERIDO');
          Cadena := StringReplace(Cadena, 'SELF-DESCRIPTION','Auto-DESCRIPCIÓN');
          Cadena := StringReplace(Cadena, 'LOVE HINT','INDICIO DE AMOR');
          Cadena := StringReplace(Cadena, 'ULTIMATE GOAL','OBJETIVO FINAL');
          Cadena := StringReplace(Cadena, 'FAVORITE BOOKS','LIBROS PREFERIDOS');
          Cadena := StringReplace(Cadena, 'FAVORITE PERFORMERS','ACTORES PREFERIDOS');
          Cadena := StringReplace(Cadena, 'FAVORITE SPORTS','DEPORTES PREFERIDOS');
          Cadena := StringReplace(Cadena, 'IDEAL MAN','HOMBRE IDEAL');
          Cadena := StringReplace(Cadena, 'SECRET FANTASY','FANTASIA SECRETA');
          Cadena := StringReplace(Cadena, 'NOTE','NOTA');
          Cadena := StringReplace(Cadena, 'EVERY WOMAN SHOULD HAVE','TODA MUJER DEBERÍA TENER');
          Cadena := StringReplace(Cadena, 'FAVORITE OUTDOOR ACTIVITIES','ACTIVIDADES AL AIRE LIBRE PREFERIDAS');
          Cadena := StringReplace(Cadena, 'FAVORITE MOVIE AND WHY','PELICULA PREFERIDA');
          Cadena := StringReplace(Cadena, 'PLACES I WANT TO VISIT AND WHY','LUGARES QUE QUIERO VISITAR');
result := Cadena;
end;
//---------------------------------------------------------------------
procedure AnalyzePage(Address: string);
var 
  strPage,MovieAddr,MovieTitle,MovieID: string;
  BeginPos,EndPos: Integer;

begin 
  strPage := GetPage(Address); 
  BeginPos := Pos('en el dominio <b>www.playboy.com', strPage);
  if(BeginPos > -1)then 
    begin 
      PickTreeClear; 
      Delete(strPage, 1, BeginPos); 
      BeginPos := Pos('href="http://www.playboy.com/girls/coeds/', strPage);
      EndPos := 1;
      while ((BeginPos > 0) and (EndPos > 0)) do
        begin 
          Delete(strPage, 1, BeginPos);
          EndPos := Pos('" class', strPage);
          MovieId := Copy(strPage,+41, EndPos-41);
          BorraComillas(MovieId);
          MovieAddr := 'http://www.playboy.com/girls/coeds/' + MovieId;
          BeginPos := Pos(')">',strPage);
          EndPos := Pos('</h2>', strPage);
          MovieTitle := Copy(strPage,BeginPos, EndPos);
          MovieTitle  := TextBetween(MovieTitle , '<b>', '-');
          DeleteTags(MovieTitle);
          PickTreeAdd(MovieTitle,MovieAddr);
          BeginPos := Pos('href="http://www.playboy.com/girls/coeds/', strPage);
          if(Pos('</body>', strPage) < BeginPos) then
          BeginPos := -1;
        end;
        PickTreeSort;

    end;
    PickTreeExec(Address);
    AnalyzeMoviePage(Address);
    end;
//------------------------------------------------------------------------------------ 
procedure AnalyzeMoviePage(Address: string); 
var 
  Page: TStringList; 
  LineNr: Integer; 
  Line: string; 
  Item: string; 
  URL: string;
  Comments: string; 
  Actors: string; 
  Directors: string; 
  Description: string;
  Busca: integer;
begin 

  // URL 
  SetField(fieldURL, Address); 
  Page := TStringList.Create; 
  Page.Text := GetPage(Address);
  
  //photo
  LineNr := FindLine('url=http://www.playboy.com/girls/coeds/', Page, 0);
  if LineNr <> -1 then
     begin
       Line := Page.GetString(LineNr);
       Busca := FindLine('-large1', Page, 0);
       if Busca <> -1 then
          begin
            Item := TextBetween (Line, 'url=http://www.playboy.com/girls/coeds/', '" target');
            GetPicture ('http://www.playboy.com/girls/coeds/'+Item+'-large1.jpg');
          end
       else
          begin
            Item := TextBetween (Line, 'src="', '" alt');
            GetPicture ('http://www.playboy.com/girls/coeds/'+Item+'-medium1.jpg');
          end
     end;
  // MEDITYPE
  SetField(fieldMediaType, ('Coeds'));
  // Name
  LineNr := FindLine('<!--tab 3 text -->', Page, 0);
  if LineNr > 0 then
  begin
    Item := copy(Page.Text, pos('<!--tab 3 text -->',Page.Text), length(Page.Text));
    Item := TextBetween (Item, 'NAME: ', '<br />');
    Item := StringReplace(Item ,#13#10,'');
    DeleteTags (Item); 
    Item  := AnsiUpFirstLetter(Item ); 
    HTMLDecode(Item); 
    SetField(fieldOriginalTitle, Trim (Item));
    SetField(fieldTranslatedTitle,(Item));
  end;
// Description1
 LineNr := FindLine('<!--tab 3 text -->', Page, 0);
  if LineNr > 0 then 
  begin 
    Item := copy(Page.Text, pos('<!--tab 3 text -->',Page.Text), length(Page.Text));
    Item := TextBetween (Item, '<br />', '<!--END tab 3 text -->');
    Item := StringReplace(Item ,#13#10, '');
    Item := StringReplace(Item ,'<br />',#13#10);
    DeleteTags (Item); 
    Item  := Trim(Item ); 
    HTMLDecode(Item);
    Item  := Reemplazar (Item);
    SetField(fieldActors, Trim (Item));
  end;
  // Description2
  LineNr := FindLine('<!--tab 2 text -->', Page, 0);
  if LineNr > 0 then
  begin
    Item := copy(Page.Text, pos('<!--tab 2 text -->',Page.Text), length(Page.Text));
    Item := TextBetween (Item, '<!--tab 2 text -->', '<!--END tab 2 text-->');
    Item := StringReplace(Item ,#13#10,'');
    DeleteTags (Item);
    Item  := Trim(Item );
    HTMLDecode(Item);
    Item  := Reemplazar (Item);
    SetField(fieldDescription, Trim (Item));
  end;
// Video
  LineNr := FindLine('url=http://www.playboy.com/girls/cybergirls/', Page, 0);
  if LineNr <> -1 then
  begin
     Line := Page.GetString(LineNr);
     Item := TextBetween (Line, 'url=http://www.playboy.com/girls/cybergirls/', '" target');
     SetField(fieldComments, Trim ('Acceso directo al video:'+#13#10+'http://www.playboy.com/girls/cybergirls/'+Item+'-player.swf'));
  end;
end;
 //-------------------------------------------------------------------------
begin 
       if (CheckVersion(3,5,0)=FALSe) then 
   begin 
      ShowMessage('Se requiere Ant Movie Catalog versión 3.5 o superior'); 
      exit; 
   end; 

   MovieName := GetField(fieldOriginalTitle); 
   if MovieName = '' then 
            MovieName := GetField(fieldTranslatedTitle); 
Input('Cybergirls', 'Search:', MovieName); 

     if(GetOption('No results') = 0) then  Input('Cybergirls', 'Search:', MovieName); 

   AnalyzePage('http://www.google.es/search?num=100&hl=es&as_qdr=all&q=allintitle%3A++%22' + UrlEncode(MovieName)+'%22+site%3Awww.playboy.com%2Fgirls%2FCoeds%2F&btnG=B%C3%BAsqueda&meta=');
end. 
DarthPeacemaker
Posts: 19
Joined: 2007-05-05 12:53:59

Post by DarthPeacemaker »

Menuda pasada. Vaya curro. Eeres un verdadero artista, y una gran persona :)

Los scripts funcionan de maravilla la mayoría de veces.
Supongo que cuando falla, es por la complejidad de los directorios (suele pasar cuando están duplicados p. ej. CGOW y CGOM), pero como te lanza un link válido y te lleva directo a la página, no es mas que copiar y pegar, así que no hay problema. :p

La única pega es que el script de playmates no descarga foto (con lo que molan :hihi: ), pero se soluciona lanzando después el primer script que te curraste (no he sido capaz de copiar esta función de uno y meterla en el otro :hum: )

¿Me podrías decir como meter el dato "bitrhplace" en el campo pais?

Un saludo y muchas gracias por todo. :grinking:

Como me voy a poner de coleccionar pivitas ;)
legrad
Posts: 109
Joined: 2006-02-11 09:46:06
Location: Lerida-Spain

Post by legrad »

En todos los que he probado se ha cargado la imagen de momento no he visto fallos en fin...

Bueno para lo del pais debes abrir cada uno de los scripts con el bloc de notas. y buscar este apartado.

Code: Select all

// URL 
  SetField(fieldURL, Address); 
  Page := TStringList.Create; 
  Page.Text := GetPage(Address);
a continuacion de este apartado y antes de //Photo
a cada script le pegas las lineas que adjunto a continuacion
Cada parte de script adjuntado a su script correspondiente y en la posicion que he descrito arriba

PARA PlayboyBiographyPlaymate(ES)
---------------------------------------------

Code: Select all

// Pais
  LineNr := FindLine('<b>BIRTHPLACE:</b>', Page, 0);
  if LineNr <> -1 then
  begin
    Line := Page.GetString(LineNr);
    Item := TextBetween (Line, '<b>BIRTHPLACE:</b>', '<br />');
    SetField(fieldCountry,(Item));
  end;

PARA-PlayboyBiographyCybergirls(ES)
------------------------------------------------------------

Code: Select all

// Pais
  LineNr := FindLine('<!--tab 3 text -->', Page, 0);
  if LineNr > 0 then
  begin
    Item := copy(Page.Text, pos('<!--tab 3 text -->',Page.Text), length(Page.Text));
    Item := TextBetween (Item, '<br />', '<br />');
    Item := StringReplace(Item ,#13#10,'');
    SetField(fieldCountry,(Item));
  end;
PARA-PlayboyBiographyCoeds(ES)
------------------------------------------------------

Code: Select all

// Pais
  LineNr := FindLine('<!--tab 3 text -->', Page, 0);
  if LineNr > 0 then
  begin
    Item := copy(Page.Text, pos('<!--tab 3 text -->',Page.Text), length(Page.Text));
    Item := TextBetween (Item, 'BIRTHPLACE: ', '<br />');
    Item := StringReplace(Item ,#13#10,'');
    SetField(fieldCountry,(Item));
  end;
DarthPeacemaker
Posts: 19
Joined: 2007-05-05 12:53:59

Post by DarthPeacemaker »

legrad wrote:En todos los que he probado se ha cargado la imagen de momento no he visto fallos en fin...

Bueno para lo del pais debes abrir cada uno de los scripts con el bloc de notas. y buscar este apartado.
Muchas gracias caballero. :grinking:

lo que te has currado con el pais funciona perfectamente y me sirve de ayuda para improvisar algún cambio que tengo en mente, (para ver como se asigna un valor a un campo concreto)

He seguido haciendo pruebas y el tema de la la foto al final lo he tenido que cambiar (solo en el de playmates), lo cual también me ilumina un poco para ver como funciona el tema (que ya me gustaría ser capaz de fabricarme una obra maestra como esta :ha: )
//photo
LineNr := FindLine(' <img src="', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr);
Item := TextBetween (Line, '<img src="', '" width');
Item := StringReplace(Item , '.html','.jpg');
GetPicture('http://www.playboy.com/girls/playmates/directory/'+Item);
end;


por

// Photo
LineNr := FindLine('src="imx/', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr);
Item := TextBetween (Line, 'src="imx/', '" width=');
GetPicture ('http://www.playboy.com/girls/playmates/ ... imx/'+Item);
end;
(todo aprovechando el primer script original) y ahora sí me la descarga ;)


Aprovecho para agradecerte también los scripts españoles que veo que has actualizado ultimamente.
Ahora a sacarle chispas al programa de antp, que es una maravilla.

Un saludo :wink:

Por cierto ¿conoces algún manual para este tema de los scripts, o eres autodidacta?
Taluego
legrad
Posts: 109
Joined: 2006-02-11 09:46:06
Location: Lerida-Spain

Post by legrad »

Lo mio es autodidacta, hace un tiempo me asaltaban dudas parecidas a las tuyas, me gustan mucho los documentales, suelo capturarlos de canal+, entonces necesitaba una base de datos, para cargar los datos de los mismos desde la pgina de canal satelite pedi ayuda en este foro pero no surgio efecto, parece que la comunidad española esta moribunda, en fin despues a base de ir probando y probando me di cuenta de algunas cosas y asi pasito a pasito pues fui haciendo, no es dificil, si observas mis script podras desentrañar mas o menos como va, puedo decir que de los que veo por ahi diria que los mios son los mas simples.

para empezar te dire que la madre del cordero en mis scripts es el apartado
procedure AnalyzePage(Address: string);
controlando esto estas al 90% del exito ya que el resto solo es buscar los tags entre los datos y cargarlo en sus campos correspondientes
algo parecido a lo que ya has hecho en las fotos de playmate


un saludo
DarthPeacemaker
Posts: 19
Joined: 2007-05-05 12:53:59

Post by DarthPeacemaker »

Me alegro que me digas que eres autodidacta, porque si a base de mirar y enredar se puede aprender creo que proponiendomelo lograré hacer algo.
De momento ya tengo una buena base de partida.
entonces necesitaba una base de datos, para cargar los datos de los mismos desde la pgina de canal satelite pedi ayuda en este foro pero no surgio efecto, parece que la comunidad española esta moribunda
Que suerte que alguien nos ha relanzado este programa :grinking:

Un saludo :wink:
Post Reply