FilmAffinity (ES) [Fix]: Oficial version v2.51
I typed "filmaffinity.es", I didn't see it was redirecting me to the .com site instead of the Spanish version.
Problem only occurs when the search gives 1 result (the movies I tested were each time giving multiple results for the title...)
Search for the line containing « Page.GetString(LineNr + 7); » and replace 7 by 11.
Or get the version 2.55 of the script which I just uploaded
Problem only occurs when the search gives 1 result (the movies I tested were each time giving multiple results for the title...)
Search for the line containing « Page.GetString(LineNr + 7); » and replace 7 by 11.
Or get the version 2.55 of the script which I just uploaded
-
- Posts: 99
- Joined: 2010-02-22 23:15:05
A mí también y si no revisando otras, o no te da el país, o no te da el año.granguash wrote:Perdonad, pero como mi inglés es bastante limitado, mejor lo pongo todo en castellano.
A mi me va todo bien, pero no me aparece la fecha de las películas con la versión 2.55
Saludos!
Pero algo vamos avanzando
-
- Posts: 15
- Joined: 2005-05-23 14:16:39
Sorry, I will try to explain it in english.antp wrote:Sorry but I do not understand Spanish, and the result of Google Translation is not really good
Peut-être vous préfèrez le français?
If you write the complete title (Sophie Scholl: los últimos días) and you ask the Filmaffinity (ES) script about this film, the program goes directly to the window "Results of..." without error but no results at all.antp wrote:@ChessPlayer > you mention "Sophie Scholl: los últimos días" -> that does not give any result on the FilmAffinity website so it is normal that the script does not find it either.
Instead, if you write only a part of the title (últimos días) the script founds several films and goes to the window "Film selection". Then you select the correct title, click on OK and the program goes to the window "Results of..." but this time with the complete results of the film (Year excepted)
That means that in the first case the program skips the "Film selection" window because there is only one film with this title, but it does not initialize the values the same way when initializing after the said window and does not found the data correctly.
I hope this explanation is of value for you.
Thanks a lot for your program (I'm using it for more than seven years or so)
Best regards
-
- Posts: 15
- Joined: 2005-05-23 14:16:39
OK, a brief update on current status:
Last version of the script available (2.55) works fine except in two cases.
1. When there is "Sección visual" on the web, the scripts fails to get the country. Can be solved with the following code previously posted by rodpedja:
2. When there is "Ver trailer externo" on the web, the scripts fails to get the year. No solution found yet, I'm afraid. Can be checked on http://www.filmaffinity.com/es/film362992.html.
------
Después de probar la última versión del script (2.55) disponible desde el mismo programa, solo hay dos fallos.
1. No obtiene el país cuando hay "Sección visual", pero se puede arreglar con el código anterior.
2. No obtiene el año cuando hay "Ver trailer externo". Para esto todavía no hay solución.
Los fallos vienen porque el script no contempla estas excepciones. De todas maneras, como ya se ha dicho, quizá lo mejor sea esperar a que terminen de remodelar la página.
Last version of the script available (2.55) works fine except in two cases.
1. When there is "Sección visual" on the web, the scripts fails to get the country. Can be solved with the following code previously posted by rodpedja:
Code: Select all
// Country
LineNr := FindLine('<img src="/imgs/countries', Page, LineNr);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr);
Item := TextBetween(Line, 'title="', '" border');
HTMLDecode(Item);
SetField(fieldCountry, Trim(Item));
end;
------
Después de probar la última versión del script (2.55) disponible desde el mismo programa, solo hay dos fallos.
1. No obtiene el país cuando hay "Sección visual", pero se puede arreglar con el código anterior.
2. No obtiene el año cuando hay "Ver trailer externo". Para esto todavía no hay solución.
Los fallos vienen porque el script no contempla estas excepciones. De todas maneras, como ya se ha dicho, quizá lo mejor sea esperar a que terminen de remodelar la página.
-
- Posts: 99
- Joined: 2010-02-22 23:15:05
-
- Posts: 99
- Joined: 2010-02-22 23:15:05
sigue sin funcionar
Lamentablemente ahora no da el año, a veces falla el país, pero sobre todo, la calificación y el año, y si pones la otra versión que es la de filmaffinity + caratulas DVD, te aparecen el reparto no en columna sino uno al lado del otro y resulta más difícil de leer, y por otra parte si no tienes cuidado no se tilda el número de película que has añadido.
Saludos y esperemos que pronto se arregle esto
Saludos y esperemos que pronto se arregle esto
Re: sigue sin funcionar
Afortunadamente hay personas que comparten con todo el mundo los scripts, sin ningún beneficio ni ánimo. Yo aún no he detectado errores en año, país o calificación. Eso no quiere decir que no existan, simplemente nadie me ha indicado en que registro (película) ocurre tal incidente.masterchipo wrote:Lamentablemente ahora
Tienes que leer las características. Esta es una opción que me demandaron varios usuarios. Una opción que puedes elegir o no. Cada uno tiene sus necesidades.masterchipo wrote:si pones la otra versión que es la de filmaffinity + caratulas DVD, te aparecen el reparto no en columna sino uno al lado del otro
morfius wrote:[UPDATE] FilmAffinity (+CaratulaDVD) (ES) v1.01 (24 nov 2011)
// 25/11/2011 añadido Option SeparadorReparto (saltos de línea o comas) para intérpretes
No se a lo que te refieres. Si es un bug házmelo saber. Ningún otro usuario ha reportado ese error. Es conveniente que contestes en el hilo corresponidente a cada script.masterchipo wrote:si no tienes cuidado no se tilda el número de película que has añadido.
Un saludo
-
- Posts: 99
- Joined: 2010-02-22 23:15:05
Re: sigue sin funcionar
Está bien. Yo prefiero (porque me resulta más comodo) leer el reparto encolumnado. Y lo que quedaría es resolver ese tema del tilde en el número de película. Esto quiere decir, (porque veo que no lo has comprendido) añades una pelicula, vas a F6 y a Filmaffinity el último script subido o fix o lo que sea del día 27 o 28 de noviembre, y al finalizar queda en blanco el año de la película y el número de orden del catálogo, ya que si al finalizar no lo tildas, es como que te queda una película de menos en tu haber. Creo haber sido explicito.morfius wrote:Afortunadamente hay personas que comparten con todo el mundo los scripts, sin ningún beneficio ni ánimo. Yo aún no he detectado errores en año, país o calificación. Eso no quiere decir que no existan, simplemente nadie me ha indicado en que registro (película) ocurre tal incidente.masterchipo wrote:Lamentablemente ahora
Tienes que leer las características. Esta es una opción que me demandaron varios usuarios. Una opción que puedes elegir o no. Cada uno tiene sus necesidades.masterchipo wrote:si pones la otra versión que es la de filmaffinity + caratulas DVD, te aparecen el reparto no en columna sino uno al lado del otromorfius wrote:[UPDATE] FilmAffinity (+CaratulaDVD) (ES) v1.01 (24 nov 2011)
// 25/11/2011 añadido Option SeparadorReparto (saltos de línea o comas) para intérpretesNo se a lo que te refieres. Si es un bug házmelo saber. Ningún otro usuario ha reportado ese error. Es conveniente que contestes en el hilo corresponidente a cada script.masterchipo wrote:si no tienes cuidado no se tilda el número de película que has añadido.
Un saludo
gracias y saludos
masterchipo
Edito, para ver un ejemplo, mira Submarine 2010 dirigida por Richard Ayoade que no se marca el año, pero esta vez sí se tilda el número de película.
No sé que pensar, me imagino que son las cuestiones de modificación en la página de Filmaffinity, porque de cuestiones técnicas, bugs, scripts, no entiendo un comino.
Gracias
-
- Posts: 99
- Joined: 2010-02-22 23:15:05
No funciona y la página de Filmaffinty normalizada
En la forma que deja de funcionar es que no te coloca el año, y el formato de filmaffinity dvd + carátula no me agrada.
A los que se ocupan de hacer los scripts, la página oficial ya no va a tener más reformas. Finalizaron los trabajos de modernización y actualización de datos y reformas en la página. Por eso, digo, debe adaptarse el script, colocando el año, ya que al ejecutar el script filmaffinity oficial 2.51 ya actualizado muchas veces te deja el año de la película en blanco.
Gracias por la colaboración
A los que se ocupan de hacer los scripts, la página oficial ya no va a tener más reformas. Finalizaron los trabajos de modernización y actualización de datos y reformas en la página. Por eso, digo, debe adaptarse el script, colocando el año, ya que al ejecutar el script filmaffinity oficial 2.51 ya actualizado muchas veces te deja el año de la película en blanco.
Gracias por la colaboración
No funciona?
No me funciona el script filmaffinity. ¿Alguien sabe algo?
gracias
gracias
Hi all,
I have the version 2.56 of this script but it's not working properly. Does anybody know how to fix the script to get the rating of the movie?
I have identified the problem but I don't know programming and I can't figure out the solution. Apparently, the problem is that the website has the film rating decimals separated by commas instead of dots and the script is not able to read them in that way.
Is there any way to say to the script that it has to interpret the commas as dots?
Thanks in advance.
Here is the part of the script about the Rating:
PS: If anybody has had problems with the YEAR, here is a solution. I have copied and modified slightly the same part from the script "Filmaffinity + Caratula DVD":
I have the version 2.56 of this script but it's not working properly. Does anybody know how to fix the script to get the rating of the movie?
I have identified the problem but I don't know programming and I can't figure out the solution. Apparently, the problem is that the website has the film rating decimals separated by commas instead of dots and the script is not able to read them in that way.
Is there any way to say to the script that it has to interpret the commas as dots?
Thanks in advance.
Here is the part of the script about the Rating:
Code: Select all
// Rating
LineNr := FindLine('<div style="margin: 4px 0; color:#990000; font-size:22px; font-weight: bold;">', Page, LineNr);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr);
Item := TextBetween(Line, '<div style="margin: 4px 0; color:#990000; font-size:22px; font-weight: bold;">', '</div>');
HTMLDecode(Item);
SetField(fieldRating, Item);
end;
PS: If anybody has had problems with the YEAR, here is a solution. I have copied and modified slightly the same part from the script "Filmaffinity + Caratula DVD":
Code: Select all
// Year
LineNr := FindLine('<th>AÑO</th>', Page, LineNr);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr + 2);
if Pos('Ver trailer', Line) > 0 then
Item := TextBetween(Line, '</div> ', '</td>')
else
begin
Item := TextBetween(Line, ' ', '</td>')
end;
HTMLDecode(Item);
SetField(fieldYear, Trim(Item));
end;
ReplaceCirigallo wrote: Is there any way to say to the script that it has to interpret the commas as dots?
Code: Select all
SetField(fieldRating, Item);
Code: Select all
SetField(fieldRating, StringReplace(Item, ',', '.'));
Here is the part for Ratings corrected:
Thanks for the help antp. I sent you a private message with the script.
Code: Select all
// Rating
LineNr := FindLine('<div style="margin: 4px 0; color:#990000; font-size:22px; font-weight: bold;">', Page, LineNr);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr);
Item := TextBetween(Line, '>', '</div>');
HTMLDecode(Item);
SetField(fieldRating, StringReplace(Item, ',', '.'));
end;
No entiendo los problemas del script Filmaffinity, la verdad que yo uso mi propio script desde hace un par de años y solo he visto una actualizacion de la web la cual la hicieron hara ya un año, solo he retocado mi script en una ocasion que yo recuerde, el film "Sophie Scholl: los últimos días" que se comenta en el foro yo la encuentro sin problemas, los problemas mencionados en ocasiones por el campo país u otros la verdad a mi nunca me ha pasado. No pretendo molestar a otros compañeros que hacen scripts, pero para el que le pueda interesar este es mi script
Code: Select all
(***************************************************
Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/
[Infos]
Authors=Legrad
Title=Filmaffinity
Description=
Site=www.filmaffinity.com
Language=ES
Version=1.1
Requires=3.5.0
Comments=
License=
GetInfo=1
[Options]
***************************************************)
program filmaffinity;
var
MovieName: string;
MovieURL: string;
//------------------------------------------------------------------------------------
function Caracter(str1: string) :string;
begin
str1 := StringReplace(str1, 'á' , 'à');
str1 := StringReplace(str1, 'é' , 'é');
str1 := StringReplace(str1, 'Ã', 'í');
Str1 := StringReplace(Str1, 'ó', 'ó');
str1 := StringReplace(str1, 'ú' , 'ú');
str1 := StringReplace(str1, 'ñ' , 'ñ');
result := str1;
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;
//------------------------------------------------------------------------------------
procedure AnalyzePage(Address: string);
var
strPage, MovieAddr, MovieTitle, MovieDate, MovieID, Movie: string;
BeginPos, EndPos: Integer;
BeginPoss, EndPoss: Integer;
begin
strPage := GetPage(Address);
BeginPos := Pos('resultados.</b></td></tr>', strPage);
if(BeginPos > -1)then
begin
PickTreeClear;
Delete(strPage, 1, BeginPos);
BeginPos := Pos('<b><a href="/es/film', strPage);
EndPos := 1;
while ((BeginPos > 0) and (EndPos > 0)) do
begin
Delete(strPage, 1, BeginPos);
EndPos := Pos('.html', strPage);
MovieId := Copy(strPage,+20, EndPos-20);
MovieAddr := 'http://www.filmaffinity.com/es/film' + MovieId+'.html';
BeginPoss := Pos('">',strPage);
EndPoss := Pos('<img src=', strPage);
MovieTitle := Copy(strPage,BeginPoss, EndPoss);
MovieTitle := TextBetween(MovieTitle , '">', '<img');
DeleteTags(MovieTitle);
PickTreeAdd(MovieTitle, MovieAddr);
PickTreeSort;
BeginPos := Pos('<b><a href="/es/film', strPage);
if(Pos('</body>', strPage) < BeginPos) then
BeginPos := -1;
end;
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 := '';
Comments := '';
SetField(fieldURL, Address);
Page := TStringList.Create;
Page.Text := GetPage(Address);
// Titulo traducido
LineNr := FindLine('<title>', Page, 0);
Line := Page.GetString(LineNr);
Item := TextBetween (Line, '<title>', '(');
HTMLDecode(Item);
Item := Caracter(Item);
SetField(fieldTranslatedTitle, Trim (Item));
// Titulo Original
LineNr := FindLine('TULO ORIGINAL</th>', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('TULO ORIGINAL</th>',Page.Text), length(Page.Text));
Item := TextBetween (Item, '<strong>', '</strong>');
HTMLDecode(Item);
Item := Caracter(Item);
SetField(fieldOriginalTitle, Trim (Item));
end;
// año
LineNr := FindLine('<title>', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr);
Item := TextBetween (Line, '(', ')');
DeleteTags (Item);
HTMLDecode(Item);
SetField(fieldYear, Trim (Item));
end;
// Duracion
LineNr := FindLine('<th>DURACI', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('<th>DURACI',Page.Text), length(Page.Text));
Item := TextBetween (Item, '<th>DURACI', '<tr>');
Item := TextBetween (Item, '</div>', 'min.');
Item := StringReplace (Item, #13#10, '');
HTMLDecode(Item);
SetField(fieldLength, Trim (Item));
end;
// pais
LineNr := FindLine('imgs/countries/', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('imgs/countries/',Page.Text), length(Page.Text));
Item := TextBetween (Item, 'title="', '"');
HTMLDecode(Item);
Item := Caracter(Item);
SetField(fieldCountry, Trim (Item));
end;
// director
LineNr := FindLine('<th>DIRECTOR</th>', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('<th>DIRECTOR</th>',Page.Text), length(Page.Text));
Item := TextBetween (Item, '/search.php?stype=director&stext=', '</a></td>');
Item := TextBetween (Item, '">', '');
HTMLDecode(Item);
Item := Caracter(Item);
SetField(fieldDirector, Trim (Item));
end;
// Reparto
LineNr := FindLine('<th>REPARTO</th>', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('<th>REPARTO</th>',Page.Text), length(Page.Text));
Item := TextBetween (Item, 'search.php?stype=cast&stext=', '</a></td>');
Item := TextBetween (Item, '">', '');
HTMLDecode(Item);
DeleteTags (Item);
Item := Caracter(Item);
SetField(fieldActors, Trim (Item));
end;
// productor
LineNr := FindLine('<th>PRODUCTORA</th>', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('<th>PRODUCTORA</th>',Page.Text), length(Page.Text));
Item := TextBetween (Item, '<td>', '</td>');
HTMLDecode(Item);
DeleteTags (Item);
Item := Caracter(Item);
SetField(fieldProducer, Trim (Item));
end;
// Categoria
LineNr := FindLine('NERO</th>', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('NERO</th>',Page.Text), length(Page.Text));
Item := TextBetween (Item, 'style="text-decoration:none">', '|');
Item := StringReplace (Item, '.', ', ');
Item := StringReplace (Item, ' ', '');
HTMLDecode(Item);
DeleteTags (Item);
Item := Caracter(Item);
SetField(fieldCategory, Trim (Item));
end;
// sinopsis
LineNr := FindLine('<th>SINOPSIS</th>', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('<th>SINOPSIS</th>',Page.Text), length(Page.Text));
Item := TextBetween (Item, '<td>', '(FILMAFFINITY)');
HTMLDecode(Item);
DeleteTags (Item);
Item := Caracter(Item);
SetField(fieldDescription, Trim (Item));
end;
// Calificación
LineNr := FindLine('<div style="margin: 4px 0; color:#990000; font-size:22px; font-weight: bold;">', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('<div style="margin: 4px 0; color:#990000; font-size:22px; font-weight: bold;">',Page.Text), length(Page.Text));
Item := TextBetween (Item, '<div style="margin: 4px 0; color:#990000; font-size:22px; font-weight: bold;">', '</div>');
HTMLDecode(Item);
DeleteTags (Item);
SetField(fieldRating, Trim (Item));
end;
// Guión
LineNr := FindLine('<th>GUI', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('<th>GUI',Page.Text), length(Page.Text));
Item := TextBetween (Item, '<td>', '</td>');
HTMLDecode(Item);
DeleteTags (Item);
Item := Caracter(Item);
Comments := Comments + 'Guión: ' + Item +#13#10;
end;
// fotografia
LineNr := FindLine('<th>FOTOGRAF', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('<th>FOTOGRAF',Page.Text), length(Page.Text));
Item := TextBetween (Item, '<td>', '</td>');
HTMLDecode(Item);
DeleteTags (Item);
Item := Caracter(Item);
Comments := Comments + 'Fotografía: ' + Item +#13#10;
end;
// Musica
LineNr := FindLine('SICA</th>', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('SICA</th>',Page.Text), length(Page.Text));
Item := TextBetween (Item, '<td>', '</td>');
HTMLDecode(Item);
DeleteTags (Item);
Item := Caracter(Item);
Comments := Comments + 'Música: ' + Item +#13#10#13#10;
end;
// Critica
LineNr := FindLine('TICAS</th>', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('TICAS</th>',Page.Text), length(Page.Text));
Item := TextBetween (Item, '<td>', '</td>');
HTMLDecode(Item);
DeleteTags (Item);
Item := StringReplace(Item, '-', '');
Item := StringReplace(Item, ' ', '');
Item := StringReplace(Item, ' ', '');
Item := StringReplace(Item, ' ', '');
Item := Caracter(Item);
Comments := Comments + 'CRITICAS: ' + Item +#13#10;
end;
// Caratula
LineNr := FindLine('src="/images/enlarge.gif"', Page, 0);
if LineNr <> -1 then
begin
Item := copy(Page.Text, pos('src="/images/enlarge.gif"',Page.Text), length(Page.Text));
Item := TextBetween (Item, '<a class="lightbox" href="http://pics.filmaffinity.com/', '.jpg');
HTMLDecode(Item);
GetPicture ('http://pics.filmaffinity.com/'+Item+'.jpg');
end;
SetField(fieldComments, Comments);
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(fieldTranslatedTitle);
if MovieName = '' then
MovieName := GetField(fieldOriginalTitle);
Input('Filmaffinity', 'Buscar:', MovieName);
if(GetOption('Sin resultado') = 0) then Input('Filmaffinity', 'Buscar:', MovieName);
AnalyzePage('http://www.filmaffinity.com/es/search.php?stext=' + UrlEncode(MovieName) + '&stype=Title');
end.
Hola. Vengo usando la versión 2.57 del scrip de FilmAffinity. He detectado que la función "buscar mas" no aparece operativa, está en gris y no puedo buscar más resultados.
Por ejemplo, si estoy buscando una película antigua y busco la palabra "america", la búsqueda me devuelve resultados hasta 2002 y no me deja buscar películas más antiguas.
¿Alguna sugerencia de cómo activar ese botón?
Gracias
Por ejemplo, si estoy buscando una película antigua y busco la palabra "america", la búsqueda me devuelve resultados hasta 2002 y no me deja buscar películas más antiguas.
¿Alguna sugerencia de cómo activar ese botón?
Gracias