Page 1 of 1

Script Filmaffinity

Posted: 2024-03-11 13:28:44
by carlesaran
Hola:
Hace un par de dias me encuentro que cuando busco una pelicula en FilmAffinity (Movie importation script for FilmAffinity Spain) no me muestra el año de dicha pelicula (puede dar el caso mismo titulo, año diferente) y me sale el signo (), tiene solución.
Gracias y un saludo

Re: Script Filmaffinity

Posted: 2024-03-12 19:59:50
by cinecampillos
Acabo de encontrar una solución:

a) Comento la línea 251 porque ya no funciona:

Code: Select all

// MovieYear := TextBetween(Line, '</a> (', ') <img class="nflag" src="/imgs/countries2/');
b) A continuación añado las siguientes líneas (nuevas líneas 252-259):

Code: Select all

LineNrax  := FindLine('div class="d-flex"', Page, LineNr);
if LineNrax <> -1 then
    begin
        Line:= Page.GetString(LineNrax+1);
        MovieYear:= TextBetween(Line, '<span class="mc-year">', '</span>');
        MovieYear:= DeleteTags(MovieYear);
        MovieYear:= LineDecode(MovieYear);
    end
c) Y ya está.

Pruébalo y me dices.

Re: Script Filmaffinity

Posted: 2024-03-12 20:11:55
by carlesaran
Hola cinecampillos:
Ha ido perfecto, ya me aparece el año de la pelicula.
Muchas gracias y un saludo.

Re: Script Filmaffinity

Posted: 2024-03-12 20:24:29
by cinecampillos
Me acabo de dar cuenta que falla en algunos casos (por ejemplo, si busco "En los límites de la realidad"). Estoy depurándolo, lo siento :D .

Re: Script Filmaffinity

Posted: 2024-03-12 22:41:06
by Ronin666
He actualizado con un apaño.

Dentro de la parte "procedure AnalyzeAdvPage(Address: string);"

Borra esto:

Code: Select all

      MovieYear := TextBetween(Line, '</a> (', ') <img class="nflag" src="/imgs/countries2/');
      if MovieYear = '' Then MovieYear := YearAnt
      else YearAnt := MovieYear;

      Line:= Page.GetString(LineNr-9);
Y sustitúyelo por esto:

Code: Select all

      LineNrax := FindLine('"><span class="mc-year">', Page, LineNr);
      if LineNrax <> -1 then
      begin
        Line:= Page.GetString(LineNrax);
        MovieYear := TextBetween(Line, '"><span class="mc-year">', '</span>');
        MovieYear := DeleteTags(MovieYear);
        MovieYear:= LineDecode(MovieYear);
      end;

      if MovieYear = '' Then MovieYear := YearAnt
      else YearAnt := MovieYear;

A mi por ahora me funciona. Por lo menos hasta que lo arreglen en condiciones.

Saludos!

Re: Script Filmaffinity [Solucionado]

Posted: 2024-03-13 15:31:41
by cinecampillos
Perfecto, Ronin666. Mucho mejor tu solución que la mía.

Todo el "follón" es porque la búsqueda avanzada de FilmAffinity incorpora delante del año la bandera de la nacionalidad (como antes) pero precedida a su vez del tipo de "producto visual" al que se refiere: Serie, TV, Cortometraje, etc... y estaba teniendo problemas para saltármelo.

Muchas gracias, Ronin666.

Re: Script Filmaffinity [Solucionado]

Posted: 2024-03-19 02:53:27
by Ronin666
cinecampillos wrote: 2024-03-13 15:31:41 Perfecto, Ronin666. Mucho mejor tu solución que la mía.

Todo el "follón" es porque la búsqueda avanzada de FilmAffinity incorpora delante del año la bandera de la nacionalidad (como antes) pero precedida a su vez del tipo de "producto visual" al que se refiere: Serie, TV, Cortometraje, etc... y estaba teniendo problemas para saltármelo.

Muchas gracias, Ronin666.
Gracias a ti. Fue al ver tu solución que pude llegar a la mía.

Un saludo!!!

Re: Script Filmaffinity

Posted: 2024-03-19 13:05:27
by antp
Thanks for the fix, I updated the script on the server.
Sorry for the late reply, I missed your post above :)