Personal Video Database

English => Development => Scripts and Templates => Topic started by: VVV_Easy_Programing on January 17, 2014, 06:29:06 pm

Title: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on January 17, 2014, 06:29:06 pm
I attached my script to scrape the information of the web Spanish FilmAffinity. If you want to try use the name of movies in Spanish  "La vida de Pi"="Life of Pi" (finds at first) or "Padrino"="Godfather" to search by list (the script no handles advanced search).
On the other hand I tried to make it as easy as possible to understand for subsequent public use. It also includes an example so that it can adapt. I copy the introduction of Script:
"  This is a script designed to be easy to understand and to adapt. For this reason may be missing some fields and
  the programming may not be smart. It's a only "One Pass" Script and get data in WEB SECUENTIAL ORDER.
  The Personal Video Data field names in comments are enclosed in "~" so they are easier to find in the script.
  The WEB_SPECIFIC comentary points out the specific text for Web fields.
  Use with your editor's search function to find applicable code sections and adapt script."
 (Edito: New version down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on January 18, 2014, 02:23:46 pm
v 0.1.1.0   VVV: Minor corrections and ameliorations
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Ivek23 on January 19, 2014, 03:26:40 pm
Script works fine, but does have some drawbacks, namely:

1.  Instead of this
Code: [Select]
  //Get ~Duration~. (User option GET_DURATION)
    if GET_DURATION then begin
      PVDField:='duration';
.
.
.
must be as follows
Code: [Select]
  //Get ~Duration~. (User option GET_DURATION)
    if GET_DURATION then begin
      PVDField:='length';
.
.
.
duration is incorrectly displayed
Code: [Select]
web page           PVD field
91 min                0:01:31
152 min              0:02:33
proper duration is as follows
Code: [Select]
web page           PVD field
91 min                1:31:00
152 min              2:32:00


2.  Year in some movies do not pass, here are some links:
http://www.filmaffinity.com//es/film485513.html
http://www.filmaffinity.com//es/film642021.html
http://www.filmaffinity.com//es/film345561.html
http://www.filmaffinity.com//es/film557483.html

3.  Genre in some movies is not transferred correctly, here are a few links:
http://www.filmaffinity.com//es/film560132.html
Quote
Drama, Romance, Premios                1962, 1962, CrÍticas                                                                   La maravillosa novela de Nabokov tuvo una excelent, Kubrick se atreve con la turbulenta relación de un padrastro y su hija adolescente, creando una película bella, sugerente y desgarradora sobre la perversa obsesión de la naturaleza humana. La polémica ya estaba servida de antemano, pero el arte acalló las voces religiosas que se levantaron contra su exhibición. Muy buena.                     Pablo Kurt: F, vigoroso y arriesgado ejercicio de puesta en pantalla que nos abre al Kubrick en plena posesión de su talento"               , La maravillosa novela de Nabokov tuvo una excelente adaptación cinematográfica a cargo de otro maestro singular. Así, Pablo Kurt: FILMAFFINITY                                                                            "Gran cine e inteligente, "Gran cine e inteligente, Ángel Fdez. Santos: Diario El País, Puedes hacer una crÍtica de esta pelÍcula para que el resto de los usuarios la pueda leer.            AÑade tu crÍtica, AÑade tu crÍtica, Votaciones de almas gemelas                                        RegÍstrate, RegÍstrate, PosiciÓn rankings listas                                                55 Mis adaptaciones de libros / novelas preferidas, 55 Mis adaptaciones de libros / novelas preferidas, Mis adaptaciones de libros / novelas preferidas, Las películas más eróticas que recuerdo, Mis películas británicas & irlandesas favoritas (NUEVA LISTA), Si alguna sinopsis cuenta demasiados detalles del argumento -o para corregir errores o completar datos de la ficha- por favor, mensaje, AÑade FA a tus webs favoritas, FA en Facebook
http://www.filmaffinity.com//es/film619271.html
Quote
Terror, http://www.theasylum.cc/product.php?id=229, Puedes hacer una crÍtica de esta pelÍcula para que el resto de los usuarios la pueda leer.            AÑade tu crÍtica, AÑade tu crÍtica, Votaciones de almas gemelas                                        RegÍstrate, RegÍstrate, Si alguna sinopsis cuenta demasiados detalles del argumento -o para corregir errores o completar datos de la ficha- por favor, mensaje, AÑade FA a tus webs favoritas, FA en Facebook
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on January 19, 2014, 07:45:34 pm
Thank you very much for your work. I think I've corrected the mistakes you point me:

v 0.1.2.0   VVV: Corrections: Duration (field name and length in seconds), genres (movies without category).
                         Improvements: RemoveTags (Simplify the Web delimitators choice)

(The year works fine now without knowing why)
Attached the new version
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Ivek23 on January 20, 2014, 09:44:48 am
(The year works fine now without knowing why)

Hi, I think I found a solution for year movie, I tested a few movies and it works fine (see attached image).

Here is the solution:
Code: [Select]
procedure ParseMovie(HTML:String;MovieURL:AnsiString);
  var
    curPos,endPos:Integer;
    PVDField,Years,WebFieldText,WebFieldOpen,WebFieldBegin,WebFieldEnd,WebItemBegin,WebItemEnd:String;
  begin
    LogMessage('procedure ParseMovie');
.
.
.
  //Get ~year~
    PVDField:='year';                           //For easy programation
    WebFieldText:='      Year:';                //Only for Debuging
    WebFieldOpen:='<dt>Ańo</dt>';               //Web only one value. WEB_SPECIFIC
    WebFieldBegin:='<dd>';                      //WEB_SPECIFIC
    WebFieldEnd:='</dd>';                       //WEB_SPECIFIC
endPos:=endPos+Length(WebFieldOpen);
    curPos:=PosFrom(WebFieldBegin,HTML,curPos)+Length(WebFieldBegin);
    endPos:=PosFrom(WebFieldEnd,HTML,curPos);
    Years:= Copy(HTML,curPos,endPos - curPos);
    //curPos:=GetPVDFieldOneValue(HTML,curPos,PVDField,WebFieldText,WebFieldOpen,WebFieldBegin,WebFieldEnd);
    AddFieldValueXML(PVDField,Years);
    LogMessage('    Years:'+Years+'||'+PVDField);

  //Get ~Lenght~. (User option GET_LENGTH)
.
.
.
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on January 20, 2014, 07:11:25 pm
Thank you very much another time. I think I've corrected the mistakes you point me (without spoiling it for other users)

            v 0.1.3.0   VVV: Roundabout for the spanish letter of <dt>Año</dt>". Some user see as "<dt>Ańo</dt>".

(I do not know if the problem is given by the function HTMLToText that converts  "<dt>A&ntilde;o</dt>"  different depending on regional configuration. I made a roundabout replacing the text sent by Ivek23 but i cann't test it)

Attached the new version
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Ivek23 on January 21, 2014, 08:37:58 am
Does not work, I add my modification of scripts, which normally displays year of the movie.
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on January 21, 2014, 08:17:26 pm
It works for you and me! Thank you very much.

        v 0.1.4.0   VVV: Officialized Ivek23 modify for the year problem.

Attached the new version
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Ivek23 on February 08, 2014, 03:06:28 pm
Thanks, it's OK.
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Am-rA on May 25, 2014, 01:09:47 am
something happened that no longer works   :-\
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on September 21, 2014, 07:13:49 pm
CHANGE LOG:
            v 0.1.4.2   VVV: Adjust WEB_SPECIFIC to new API.

Attached the new versión
(Edito: New version down)
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Ivek23 on September 22, 2014, 06:25:14 pm
Thanks, script works fine.
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Am-rA on September 23, 2014, 12:51:16 am
Thanks, perfect work
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on December 27, 2014, 03:28:00 pm
Completely redone  :) :D :). The structure of the script is linear.

CHANGE LOG (26/12/2014):
            V 0.2.0.0   VVV: Rebuild script.

Attached the new versión
(If some movie fails, please send me the title, the bad information and the search language. Thank you.)
(Edito: New version down)
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on December 27, 2014, 08:34:24 pm
CHANGE LOG (27/12/2014):
            V 0.2.0.1   VVV: Add (needs Custom Field ~FilmAffinity_Votes~) for 'votos'

Attached the new versión
(Edito: New version down)
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Ivek23 on December 27, 2014, 10:33:27 pm
Script only display the search results, but does not transfer any information for any movie, because it is always redirected to the search results, but not the movie page of the search of the movie. No transfer of any url address.
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on December 28, 2014, 12:35:10 pm
CHANGE LOG (28/12/2014):
            V 0.2.0.2   VVV: Fixed bug with movie first search and download (Ivek23 detected)

Attached the new versión
(Edito: New version down)

Thanks Ivek23
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on January 31, 2015, 11:08:37 am
CHANGE LOG (31/01/2015):
            V 0.2.1.0   VVV: Adjust WEB_SPECIFIC to new API (AKA Bouton).

Attached the new versión
(Edito: New version down)
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Am-rA on January 31, 2015, 11:54:02 am
Work fine , tnks ;D
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Ivek23 on February 02, 2015, 09:09:57 am
Work fine , tnks ;D
+1
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: jippo on September 11, 2015, 05:19:09 pm
This plugin needs an update in Director and rating.
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on September 13, 2015, 10:47:01 am
CHANGE LOG (12/09/2015):
            V 0.2.1.2   VVV: Adjust to new API ('Año'=year,'ratingValue'=orating,'ratingCount'=FilmAffinity_Votes,'Director'=Directors)
                             Only direct Movies: Don't work the list in "Advanced Search" because now it's a Google script.

Attached the new versión.
(Edito: New version down)

Thanks jippo.
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Am-rA on September 13, 2015, 10:09:58 pm
additional rating dont work
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on September 16, 2015, 08:40:46 pm
It works fine on my computer. ???

What Windows and language are you using?

Your decimal separator is point (international) or comma (spanish)?

Thanks for your information.
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: Am-rA on October 11, 2015, 03:03:03 pm
windows 8.1, language spanish
worked perfectly, but one day stopped working , rename the category but does not put the stars
Title: Re: Script: FilmAffinity [ES] 2014 (Easy Script)
Post by: VVV_Easy_Programing on November 22, 2015, 08:04:05 pm
CHANGE LOG (22/11/2015):
            V 0.2.1.3   VVV: Writes 'ratingValue'=orating with point english separator for better standarisation.
                             Eliminate "2014" from name.
Attached the new versión.

(Edito: New version down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on April 09, 2016, 12:10:12 am
The plugins has problems in actors and description.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on April 17, 2016, 11:13:10 pm
yes, description and actors dont work
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on April 24, 2016, 10:13:56 pm
script code:
//Get ~description~
      curPos:=Pos('<dt>Sinopsis</dt>',HTML)+Length('<dt>Sinopsis</dt>');        //WEB_SPECIFIC
      curPos:=PosFrom('<dd>',HTML,curPos)+Length('<dd>');                       //WEB_SPECIFIC
      endPos:=PosFrom('</dd>',HTML,curPos);                                     //WEB_SPECIFIC
      ItemValue:=Copy(HTML,curPos,endPos-curPos);       
      ItemValue:=StringReplace(ItemValue,'(FILMAFFINITY)','',True,True,False);  //WEB_SPECIFIC
      ItemValue:=RemoveTags(ItemValue,False);
      AddFieldValueXML('description',ItemValue);
      LogMessage('      Get result description:'+ItemValue+'||');
Page:
<dt>Sinopsis</dt>
<dd itemprop="description">Año 1823. En las profundidades de la América salvaje, el explorador Hugh Glass (Leonardo DiCaprio) participa junto a su hijo mestizo Hawk en una expedición de tramperos que recolecta pieles. Glass resulta gravemente herido por el ataque de un oso y es abandonado a su suerte por un traicionero miembro de su equipo, John Fitzgerald (Tom Hardy). Con la fuerza de voluntad como su única arma, Glass deberá enfrentarse a un territorio hostil, a un invierno brutal y a la guerra constante entre las tribus de nativos americanos, en una búsqueda implacable para conseguir vengarse. (FILMAFFINITY)</dd>



if someone puts the solution here , I would implement, if necessary any more information I search
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on April 25, 2016, 06:11:48 am
This part of the script code,

      curPos:=PosFrom('<dd>',HTML,curPos)+Length('<dd>');                       //WEB_SPECIFIC

replace this part of the script code:

      curPos:=PosFrom('<dd itemprop="description">',HTML,curPos)+Length('<dd itemprop="description">');                       //WEB_SPECIFIC

This is will to done in the script and you will can done test if it really works.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on April 28, 2016, 07:28:38 pm
does not work, shows this
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on April 29, 2016, 06:22:01 am
does not work, shows this

It absolutely works, even for you there is something wrong with correcting scripts, because it is 100% works for me.

Try the attached script, which I just mentioned above, this part of the updated and correctly transferred to the description such as a web page.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on May 07, 2016, 08:54:16 pm
I reinstall the program.

Description works me fine, but actors and genre not.

Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on May 08, 2016, 07:00:19 am
Description works me fine, but actors and genre not.

Actors and genre, now it should work properly.

Corrected script is attached.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on May 08, 2016, 01:28:33 pm
I have problems in some genres.

In others works fine.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on May 08, 2016, 05:29:26 pm
I have problems in some genres.

Now it should work properly.

Corrected script is attached.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on May 12, 2016, 09:18:58 pm
Description doesn't work fine if it is empty.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on May 13, 2016, 04:41:30 pm
Description doesn't work fine if it is empty.

Yes, I am aware of this problem, unfortunately, it is currently I can not fix.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on May 16, 2016, 07:01:05 am
Description doesn't work fine if it is empty.

Yes, I am aware of this problem, unfortunately, it is currently I can not fix.

Yeah, now I managed to fix it. Now it should work properly.

Check the attached script.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on May 22, 2016, 04:55:44 pm
Sorry  :'(, I had not seen so many emails (I added in the script the link of a contact Web for quick alert)
Thank very much, Ivek23 for maintaining the program  ;D.

I tried to fix all (included the search list) and I fixed the "FilmAffinity_New_Releases.psf" script too.

CHANGE LOG (22/05/2016):
            V 0.2.1.4   VVV: Adjust WEB_SPECIFIC to new API.
                             Contact Web: http://contactbyweb.com/vvv-easy
Attached the new version.
(Edito: New version down)

Thanks Am-rA and jippo, too.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on May 24, 2016, 06:50:50 am
Thank very much, Ivek23 for maintaining the program  ;D.

You are Welcome and thank you.

Attached the new version.

Thank you for the new version.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on May 27, 2016, 08:51:05 pm
I have a problem.

Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on May 29, 2016, 10:48:30 am

Ivek thank people like you is what makes it good that Internet is to remain standing  :D
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on May 29, 2016, 12:22:01 pm

Ivek thank people like you is what makes it good that Internet is to remain standing  :D

Thanks, Am-rA
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on May 29, 2016, 12:52:58 pm
I have a problem.

The solution to this problem is decorated.

I fixed this problem:

This is added to the code:
Code: [Select]
ItemList:=StringReplace(ItemList,'<div class="credits">','',True,True,False);            //WEB_SPECIFIC
    ItemList:=StringReplace(ItemList,'<span>','',True,True,False);            //WEB_SPECIFIC
    ItemList:=StringReplace(ItemList,'</span>','',True,True,False);            //WEB_SPECIFIC
ItemList:=StringReplace(ItemList,'</div>','',True,True,False);            //WEB_SPECIFIC

Corrected code is such now:
Code: [Select]
         //Get ~Writers~ (Only name in Web from !name! list).
         curPos:=Pos('<dt>Guión</dt>',HTML);                                          //WEB_SPECIFIC
         if 0<curPos then begin
            curPos:=curPos+Length('<dt>Guión</dt>');                                  //WEB_SPECIFIC
            curPos:=PosFrom('<dd>',HTML,curPos)+Length('<dd>');                       //WEB_SPECIFIC
            endPos:=PosFrom('</dd>',HTML,curPos);                                     //WEB_SPECIFIC
            ItemList:=Copy(HTML,curPos,endPos-curPos);
ItemList:=StringReplace(ItemList,'<div class="credits">','',True,True,False);            //WEB_SPECIFIC
    ItemList:=StringReplace(ItemList,'<span>','',True,True,False);            //WEB_SPECIFIC
    ItemList:=StringReplace(ItemList,'</span>','',True,True,False);            //WEB_SPECIFIC
ItemList:=StringReplace(ItemList,'</div>','',True,True,False);            //WEB_SPECIFIC
            LogMessage('           Parse results List Writers:'+ItemList+'||');
            curPos:=1;                                                                 //WEB_SPECIFIC
            endPos:=PosFrom(', ',ItemList,curPos);                                    //WEB_SPECIFIC
            if 0=endPos then ItemValue:=Copy(ItemList,curPos,1+Length(ItemList)-curPos);
            While 0<endPos do begin
               ItemValue:=Copy(ItemList,curPos,endPos-curPos);
               AddMoviePerson(ItemValue,'','','',ctWriters);
               LogMessage('      Get results Writers:'+ItemValue+'||');
               curPos:=endPos+Length(', ');                                           //WEB_SPECIFIC
               endPos:=PosFrom(', ',ItemList,curPos);                                 //WEB_SPECIFIC
               if 0=endPos then ItemValue:=Copy(ItemList,curPos,1+Length(ItemList)-curPos);
            end;
            AddMoviePerson(ItemValue,'','','',ctWriters);
            LogMessage('      Get results Writers:'+ItemValue+'||');
          end;
         //Get ~Composers~ (Only name in Web from !name! list).
         curPos:=Pos('<dt>Música</dt>',HTML);                                      //WEB_SPECIFIC
         if 0<curPos then begin
            curPos:=curPos+Length('<dt>Música</dt>');                                 //WEB_SPECIFIC
            curPos:=PosFrom('<dd>',HTML,curPos)+Length('<dd>');                       //WEB_SPECIFIC
            endPos:=PosFrom('</dd>',HTML,curPos);                                     //WEB_SPECIFIC
            ItemList:=Copy(HTML,curPos,endPos-curPos);
ItemList:=StringReplace(ItemList,'<div class="credits"><span>','',True,True,False);            //WEB_SPECIFIC
    ItemList:=StringReplace(ItemList,'</span></div>','',True,True,False);            //WEB_SPECIFIC         
            LogMessage('           Parse results List Composers:'+ItemList+'||');
            curPos:=1;                                                                 //WEB_SPECIFIC
            endPos:=PosFrom(', ',ItemList,curPos);                                    //WEB_SPECIFIC
            if 0=endPos then ItemValue:=Copy(ItemList,curPos,1+Length(ItemList)-curPos);
            While 0<endPos do begin
               ItemValue:=Copy(ItemList,curPos,endPos-curPos);
               AddMoviePerson(ItemValue,'','','',ctComposers);
               LogMessage('      Get results Composers:'+ItemValue+'||');
               curPos:=endPos+Length(', ');                                           //WEB_SPECIFIC
               endPos:=PosFrom(', ',ItemList,curPos);                                 //WEB_SPECIFIC
               if 0=endPos then ItemValue:=Copy(ItemList,curPos,1+Length(ItemList)-curPos);
            end;
            AddMoviePerson(ItemValue,'','','',ctComposers);
            LogMessage('      Get results Composers:'+ItemValue+'||');
          end;
.
.
.
      //Get ~studio~ (several values in a comma separated list)
      curPos:=Pos('<dt>Productora</dt>',HTML);                                  //WEB_SPECIFIC
      if 0<curPos then begin
         curPos:=curPos+Length('<dt>Productora</dt>');                          //WEB_SPECIFIC
         curPos:=PosFrom('<dd>',HTML,curPos)+Length('<dd>');                    //WEB_SPECIFIC
         endPos:=PosFrom('</dd>',HTML,curPos);                                  //WEB_SPECIFIC
         ItemList:=Copy(HTML,curPos,endPos-curPos);
         ItemList:=StringReplace(ItemList,';',',',True,True,False);             //WEB_SPECIFIC. For Conuntry coproductions.
         ItemList:=StringReplace(ItemList,' /',',',True,True,False);            //WEB_SPECIFIC
         ItemList:=StringReplace(ItemList,'<div class="credits"><span>','',True,True,False);            //WEB_SPECIFIC
ItemList:=StringReplace(ItemList,'</span></div>','',True,True,False);            //WEB_SPECIFIC
         AddFieldValueXML('studio',ItemList);
         LogMessage('      Get results studio:'+ItemList+'||');
      end;

As well as the situation in the version of the script, and otherwise it is wrong
Code: [Select]
//Script data
  SCRIPT_VERSION  = '0.2.1.3';
and this is correct
Code: [Select]
//Script data
  SCRIPT_VERSION  = '0.2.1.4';


I fixed the Description code because the script writer did not follow my correction in the previous version of the script.

Description doesn't work fine if it is empty.

Yes, I am aware of this problem, unfortunately, it is currently I can not fix.

Yeah, now I managed to fix it. Now it should work properly.

Check the attached script.

Old code
Code: [Select]
      //Get ~description~
      curPos:=Pos('<dt>Sinopsis</dt>',HTML)+Length('<dt>Sinopsis</dt>');                                  //WEB_SPECIFIC
      curPos:=PosFrom('<dd itemprop="description">',HTML,curPos)+Length('<dd itemprop="description">');   //WEB_SPECIFIC
      endPos:=PosFrom('</dd>',HTML,curPos);                                                               //WEB_SPECIFIC
      ItemValue:=Copy(HTML,curPos,endPos-curPos);       
      ItemValue:=StringReplace(ItemValue,'(FILMAFFINITY)','',True,True,False);                            //WEB_SPECIFIC
      ItemValue:=RemoveTags(ItemValue,False);
      AddFieldValueXML('description',ItemValue);
      LogMessage('      Get result description:'+ItemValue+'||');     

New code
Code: [Select]
      //Get ~description~
      curPos:=Pos('<dt>Sinopsis</dt>',HTML);                                  //WEB_SPECIFIC
      if 0<curPos then begin
         curPos:=curPos+Length('<dt>Sinopsis</dt>');                          //WEB_SPECIFIC
      curPos:=PosFrom('<dd itemprop="description">',HTML,curPos)+Length('<dd itemprop="description">');   //WEB_SPECIFIC
      endPos:=PosFrom('</dl>',HTML,curPos);                                                               //WEB_SPECIFIC
      ItemValue:=Copy(HTML,curPos,endPos-curPos);       
      ItemValue:=StringReplace(ItemValue,'(FILMAFFINITY)','',True,True,False);                            //WEB_SPECIFIC
      ItemValue:=RemoveTags(ItemValue,False);
      AddFieldValueXML('description',ItemValue);
      LogMessage('      Get result description:'+ItemValue+'||');
      end;

Check the attached script.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on May 29, 2016, 07:57:36 pm
Problems with composer.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on May 30, 2016, 03:43:54 pm
Problems with composer.

I fixed the problems.

Check the attached script.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on June 10, 2016, 06:55:59 pm
The script doesnt work me.

Filmaffinity changes his search.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on June 11, 2016, 05:35:34 am
The script doesnt work me.

Filmaffinity changes his search.

On the link below please report the error.

Contact Web: http://contactbyweb.com/vvv-easy
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on July 06, 2016, 07:27:09 pm
Sorry  :'(, I had not seen so many emails (I added in the script the link of a contact Web for quick alert)
Thank very much, Ivek23 for maintaining the program  ;D.

I have consolidated the Ivek23 version and fix the search new API

CHANGE LOG (06/06/2016):
            V 0.2.1.6   VVV: Adjust WEB_SPECIFIC to new API (Problems with search with several results).
            V 0.2.1.5   Ivek23: Adjust WEB_SPECIFIC to new API (Problems with composer).
Attached the new version.

FilmAffinity_New_Releases.psf
Need: Search in FilmAffinity DVD rental films the movies with a rating higher of 6 and number of votes greater than 2000.
Problem to solve: Select from a web list and then gets information (for instance, number of votes) of those movies.
Characteristics of Script: A script of multiple passes. Search the list page (stored in the first access) and while the list is parsed, gets the pages from the good movies to get more information (searches similar to "FilmAffinity_[ES]"). All is saved to a file. If GET_ONLY_NOT_PVdB = True, gets only the movies not present in PVdB (but PVdb_CSVDB_FILE is needed). Although not very smart, use global variables for better understanding.

Attached the new version too.

(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on July 07, 2016, 05:42:31 am
Thank very much, Ivek23 for maintaining the program  ;D.

Welcome and thanks for the new version.

I have consolidated the Ivek23 version and fix the search new API

CHANGE LOG (06/06/2016):
            V 0.2.1.6   VVV: Adjust WEB_SPECIFIC to new API (Problems with search with several results).
            V 0.2.1.5   Ivek23: Adjust WEB_SPECIFIC to new API (Problems with composer).
Attached the new version.

Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on September 17, 2016, 09:54:17 pm
Update:

CHANGE LOG (17/09/2016):
            V 0.2.1.7   VVV: Adjust WEB_SPECIFIC to new API (Problems with search with several results: Choice of order, No poster).
Attached the new version.

(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on September 18, 2016, 09:40:42 am
Update:

CHANGE LOG (17/09/2016):
            V 0.2.1.7   VVV: Adjust WEB_SPECIFIC to new API (Problems with search with several results: Choice of order, No poster).
Attached the new version.

Thanks for the new version.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on September 24, 2016, 06:38:22 pm
This script needs an update.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on September 25, 2016, 09:40:43 pm
Update:

CHANGE LOG (25/09/2016):
            V 1.1.0.0   VVV: Use the RemoveTags function for scrap. New "CleanBeginEndSpaces" user function.
 Attached the new version.

Thanks  jippo (jdr___@hotmail.com) by the alert.

(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Ivek23 on September 29, 2016, 06:10:44 am
Update:

CHANGE LOG (25/09/2016):
            V 1.1.0.0   VVV: Use the RemoveTags function for scrap. New "CleanBeginEndSpaces" user function.
 Attached the new version.

Thanks  jippo (jdr___@hotmail.com) by the alert.

Thanks.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on October 20, 2016, 08:12:43 pm
Update:

CHANGE LOG (20/10/2016):
            V 1.2.0.0   VVV: Clean code with TextBetWeen (RemoveTags not needed) and ExplodeString functions. Use of TWideArray variable type.
                             Use 'Trim' PDV funtion in place of "CleanBeginEndSpaces" user function. 

Attached the new version.

(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on October 29, 2016, 11:54:19 am
The script doesn't work.

It doesn't import nothing.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on October 29, 2016, 05:43:29 pm
Update:

CHANGE LOG (29/10/2016):
            V 1.3.0.0   VVV: Managed redirected film pages in search mode. Added search stored URL (if present) in 'GetDownloadURL' function.
Attached the new version.

Thanks  jippo (jdr___@hotmail.com) for the alert.

(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on November 01, 2016, 10:48:41 pm
 :-* tnks
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on November 12, 2016, 07:03:53 pm
Update:

V 1.3.1.0 (12/10/2016) VVV: Clean ~Director~ '(creator)', ~Writers~ '(artículo:)''(historia:)''(libros:)''(novela:)''(novelas:)''(obra:)' and ~Composers~ '(canción:)''(canciones:)''(tema:)''(aka)'

Attached the new version.

(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on November 13, 2016, 07:29:14 pm
Update:

CHANGE LOG :
            V 1.3.1.1 (12/10/2016) VVV: Added clean ~Writers~ of 'cómic:' and 'libro:'. Separated the '(' ')' elimination for get all cases.

Attached the new version.


(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on May 24, 2017, 06:37:39 pm
New error with this plugin.

This page is using HTTPS now.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on May 24, 2017, 08:26:59 pm
Well, I think this is a "Chronicle of a Death Foretold".
Fortunately, I'd tested the curl solution with Rottentomatoes_ [HTTPS] script.
I must search a time to adapt it, not too later because I use it.
Stay tuned.
Title: Script: FilmAffinity [ES][HTTPS] (curl needed)
Post by: VVV_Easy_Programing on June 11, 2017, 07:56:00 pm
FilmAffinity_[ES][HTTPS] is  here.

To adapt PVdB for downloading https pages you Needed external:
1) Download the curl-7.54.0-win32-mingw.7z file from https://bintray.com/artifact/download/vszakats/generic/curl-7.54.0-win32-mingw.7z (https://bintray.com/artifact/download/vszakats/generic/curl-7.54.0-win32-mingw.7z)  (Thanks Viktor Szakáts).
2)Extract the three curl libraries files and copy them to script folder:
• curl-7.54.0-win32-mingw\bin\curl.exe
• curl-7.54.0-win32-mingw\bin\curl-ca-bundle.crt
• curl-7.54.0-win32-mingw\bin\libcurl.dll

(You can see curl - PVD to https solution (http://www.videodb.info/forum_en/index.php/topic,4070.0.html) for more information)
Title: Script: FilmAffinity [ES][HTTPS] (curl needed)
Post by: VVV_Easy_Programing on June 11, 2017, 08:00:14 pm
Update:
CHANGE LOG :
V 2.0.0.0 (24/05/2017) VVV: HTTPS adaptation: Now GET PVdB function don't donwload the page.For do that it use curl free program https://curl.haxx.se.
               Change a  "filmaffinity.com/es/advsearch" instead of "filmaffinity.com/es/search" in order to avoid the auto redirection when only one movie are posible
               Fixed "Productor" or "Producer" present in some studio fields.
               User Options added: CHECK_WEBSITE = Set to True add to SearchResult List the true HTTPS links 'Just to check the website'.
                                              SEARCH_ENGINE = Set to True, if there isn't FilmAffinity search results, try with Bing search engine.

Attached the new version.

(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on June 12, 2017, 08:25:31 pm
Thnks  :D (muchas gracias)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on June 13, 2017, 11:27:01 pm
There is a problem, if the title has unusual accents or symbols it hangs up the program.
Ej : Børning 2 (error)
Ej : Borning 2 (fine)
Ej : Cincuenta Sombras Más Oscuras (error)
Ej : Cincuenta Sombras Mas Oscuras (fine)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on June 14, 2017, 09:21:28 pm
Update:
CHANGE LOG :
            V 2.0.0.1 (14/06/2017) VVV: Fixed bug with UTF-8 conversion. Now the function "DownloadPage" with curl works faster.

Attached the new version.


Thank you for the alert, Am-rA  :)

(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on June 15, 2017, 05:09:49 pm
You do not have to give them, thanks to you for continuing to maintain what is still undoubtedly the best program to catalog movies, thanks to these arrangements of yours, we still use a few.
 ;)
Title: Re: Script: FilmAffinity [ES][HTTPS] (Now with NOT external files needed)
Post by: VVV_Easy_Programing on October 08, 2017, 08:06:12 pm
Update:
CHANGE LOG :
            V 3.0.0.0 (08/10/2017) VVV: Download with the Windows PowerShell (not external files needed and is faster).
                                                       But if you want use curl.exe change the setting USE_CURL = True

Attached the new version.

IMPORTANT NOTE: Some Win 8.1 users has problems with the PowerShell version, so, if you have problems, you may open the "FilmAffinity_[ES][HTTPS].psf" with notepad and change the setting to USE_CURL = True in line 123.

(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on October 26, 2017, 04:20:24 pm
Thanks  :D
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on October 26, 2017, 04:45:12 pm
Update:
CHANGE LOG :
            V 2.0.0.1 (14/06/2017) VVV: Fixed bug with UTF-8 conversion. Now the function "DownloadPage" with curl works faster.

Attached the new version.


Thank you for the alert, Am-rA  :)

(Edito: New versions down)
we again have the same problem
Ex: El Hombre Del Corazón De Hierro
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on October 26, 2017, 09:28:21 pm
I don't be able to reproduce the problema. I need some information:

1)¿You use the Powershell versión (v.3.0.0.0 not changed) or the curl versión (v.3.0.0.0 with the setting USE_CURL = True)
2) If first (Powershell):
           ¿what Windows lenguaje  and version you use?
           ¿can you try with curl versión (edit with noteblock "FilmAffinity_[ES][HTTPS].psf" and change the setting USE_CURL = True)
3) If second (curl):
           ¿can you try with PowerShell version? (edit with noteblock "FilmAffinity_[ES][HTTPS].psf" and change the setting USE_CURL = False)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on October 28, 2017, 07:16:02 pm
I don't be able to reproduce the problema. I need some information:

1)¿You use the Powershell versión (v.3.0.0.0 not changed) or the curl versión (v.3.0.0.0 with the setting USE_CURL = True)
2) If first (Powershell):
           ¿what Windows lenguaje  and version you use?
           ¿can you try with curl versión (edit with noteblock "FilmAffinity_[ES][HTTPS].psf" and change the setting USE_CURL = True)
3) If second (curl):
           ¿can you try with PowerShell version? (edit with noteblock "FilmAffinity_[ES][HTTPS].psf" and change the setting USE_CURL = False)
Test - El Hombre Del Corazón De Hierro
v.3.0.0.0 Windows 8.1
Powershell - don´t work
USE_CURL=True - Work Fine

other titles worked without problems, if I find another title that has that problem I will tell it
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on October 29, 2017, 08:01:02 am
Thank you, I use win10 - ESP, perhaps this is the diference.

¿Can you post the "downpage-UTF8_NO_BOM.htm" file in the Powershell fail mode (you must zipped it by the fórum limitations, you can see my file attached)?

In fact, one time this title has need the bing search mode to find the FilmAffinity URL, but after chose it, it download without problem in Powershell mode.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on October 29, 2017, 08:25:48 am
Forget the last message.
I think that I can improve the search function.
If you need, for the moment, use the curl version.
Stay tuned.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: Am-rA on October 30, 2017, 11:52:25 pm
Ok, anything, you tell me
thanks
in case you also need
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on November 01, 2017, 10:13:58 am
Update:
CHANGE LOG :
             V 3.0.0.1 (31/10/2017) VVV: Set "escaped" UTF-8 codification for the ANSI char of URL in the function "DownloadPage".

Attached the new version.

IMPORTANT NOTE: Some Win 8.1 users has problems with the PowerShell version, so, if you have problems, you may open the "FilmAffinity_[ES][HTTPS].psf" with notepad and change the setting to USE_CURL = True in line 124.

(Edito: New versions down)
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: jippo on December 03, 2017, 03:11:36 pm
It doesn't import the director.
Title: Re: Script: FilmAffinity [ES] (Easy Script)
Post by: VVV_Easy_Programing on December 09, 2017, 07:27:40 pm
Update:

CHANGE LOG :
            V 3.0.0.2 (09/12/2017) VVV: Adjust to new API ('<dt>Dirección</dt>' in the place of '<dt>Director</dt>'). Search routine improvements

Attached the new version.

IMPORTANT NOTE: Some Win 8.1 users has problems with the PowerShell version, so, if you have problems, you may open the "FilmAffinity_[ES][HTTPS].psf" with notepad and change the setting to USE_CURL = True in line 125.