Re: [UPD ES] Filmaffinity 4.0
Posted: 2025-09-08 18:36:31
Como te indica Garada eso no depende del script sino de la configuración del programa. Si estás utilizando el portable que yo subí las guarda así si no lo has cambiado. Es la forma que utilizo yo ya que si se guardan en el mismo archivo de catalogo se hace muy pesado cuando tienes miles de películas, y como a veces le paso el archivo a amigos para que se lo miren me es más cómodo.carlesaran wrote: 2025-09-08 09:49:21 Hola:
Una consulta, en el script antiguo la foto de la caratula no se donde la guardaba, pero actualmente en el nuevo me lo guarda en la carpeta
Catalogo y hay un montón de imágenes, siendo un problema con el listado de peliduras que tengo guardado.
No sería posible que lo guardara en el mismo sitio que lo hacia antiguamente.
Gracias y un saludo.
Code: Select all
delayBetweenRequest = numero;Code: Select all
delayBetweenRequest = 2001;Ok, ya entendí. Olvida lo de la línea, si pones un número más pequeño se produce lo que pretendes evitar que se hagan solicitudes a Filmaffinity demasiado rápido. Déjalo a 2001 como estaba.carlesaran wrote: 2025-09-11 10:37:56 Efectivamente lo tenia en 2001, siguiendo el consejo de Radagast lo he puesto a 601, veremos como va.
En cuanto a lo Chrome es lo siguiente:
Cuando en el programa AMC intento incluir una pelicula y me sale "No encontrada" arranco Chrome y la pido en Filmaffinity
y me sale "demasiadas solicitudes".
Si hago lo mismo, pero a través de Tor Browser o de Opera me admite la solicitud y me presenta la pelicula.
Gracias y un saludo.
Como ya comenté creo que el problema se produce cuando se utilizan palabras comunes en el script que arrojan muchos resultados y posiblemente también si se actualizan películas en bloque utilizando la opción "DontAsk" del script activada.carlesaran wrote: 2025-09-11 10:37:56 Efectivamente lo tenia en 2001, siguiendo el consejo de Radagast lo he puesto a 601, veremos como va.
En cuanto a lo Chrome es lo siguiente:
Cuando en el programa AMC intento incluir una pelicula y me sale "No encontrada" arranco Chrome y la pido en Filmaffinity
y me sale "demasiadas solicitudes".
Si hago lo mismo, pero a través de Tor Browser o de Opera me admite la solicitud y me presenta la pelicula.
Gracias y un saludo.
Entiendo que funcionaria si el proxy va variando la IP. Si siempre utiliza la misma bloquearían al proxy ¿no?Garada wrote: 2025-09-11 12:57:44Ahora hablando en general, creo que para el problema de demasiadas solicitudes se puede mirar algún proxy http gratuito que vaya bien y añadirlo al script
Sorry I had no time to come to the forum to validate your new post, so it only appears at a later time.jeraccoon wrote: 2025-09-05 22:50:07 Hola:
He copiado los 3 archivos en mi carpeta de script pero cuando le doy a buscar me aparece el error "HTTP/1.1 403 forbidden"
Uso windows 11
¿Alguien me puede echar un amano con este error?
Muchas gracias.
Hola, perdona, como indica Antp tú post se había perdido entre los muchos que hay.jeraccoon wrote: 2025-09-05 22:50:07 Hola:
He copiado los 3 archivos en mi carpeta de script pero cuando le doy a buscar me aparece el error "HTTP/1.1 403 forbidden"
Uso windows 11
¿Alguien me puede echar un amano con este error?
Muchas gracias.
Hola:Radagast wrote: 2025-09-13 12:53:48Hola, perdona, como indica Antp tú post se había perdido entre los muchos que hay.jeraccoon wrote: 2025-09-05 22:50:07 Hola:
He copiado los 3 archivos en mi carpeta de script pero cuando le doy a buscar me aparece el error "HTTP/1.1 403 forbidden"
Uso windows 11
¿Alguien me puede echar un amano con este error?
Muchas gracias.
Como te indica Antp el error que te da parece indicar que continuas utilizando el script antiguo, que no has sobrescrito el antiguo. O no los has copiado en el sitio correcto o has copiado el archivo ZIP como carpeta.
El enlace a los archivos que tienes que copiar es el siguiente https://mega.nz/file/YQsxBRyD#NODP1tG5p ... 12vUkqMg08
Tienes que copiar los archivos en la carpeta scripts que utiliza AMC, en una instalación típica la ruta es C:\ProgramData\Ant Movie Catalog\Scripts, tengo W10, supongo que en W11 será la misma. Ojo que esta ruta está oculta por defecto, no la verás a no ser que tengas activado mostrar archivos ocultos en el sistema, puedes copiar y pegar la ruta que he puesto en la ventana de windows.
Es muy importante que copies en la carpeta scripts de AMC los archivos que van dentro del ZIP que te descargas de MEGA, no el archivo ZIP en si mismo. Es decir abres el archivo ZIP (en W11 se te abrirá como si fuera una carpeta), selecciona los tres archivos, botón derecho y copiar.
Ahora abres la carpeta scripts que utiliza AMC y los pegas, te tiene que salir el aviso conforme el destino ya tiene un archivo filmaffinity.ifs, dale a "Reemplazar el archivo en el destino".
Haciendo esto te debería de funcionar.
En teoría sí. Por ahí tenía un BAT que descargaba una lista de proxys para pasárselo a otro programa.Radagast wrote: 2025-09-13 02:03:55Entiendo que funcionaria si el proxy va variando la IP. Si siempre utiliza la misma bloquearían al proxy ¿no?Garada wrote: 2025-09-11 12:57:44Ahora hablando en general, creo que para el problema de demasiadas solicitudes se puede mirar algún proxy http gratuito que vaya bien y añadirlo al script
Code: Select all
unit ExternalCurlHandler;
uses StringUtils7552;
const
UseVBS = True; // Use Visual Basic Script to hide curl windows, disable if you do not want to or cannot use VBS (p.e. Linux)
tmpDir = ''; // (optional) if you want get your scripts directory clean, set here your tmp working dir, example C:\Users\YOURWINDOWSUSER\AppData\Local\Temp\
delayBetweenRequest = 2001;
curlPath = 'curl.exe'; // if you use Windows 7 or 8 download curl.exe for Windows (it's free) and set here the right path
vbsScript = 'ExternalCurlHandler.vbs';
curlOutput = 'curlOutput.html';
curlUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36';
TimeOut = 10000; // Time to wait for response in ms
var
InstallerPath: string;
function GetPage5Advanced(address: string; referer: string; cookies: string; content: string; headers: string): string;
var
cnt: integer;
fileContent: TStringList;
curlOutputResult: string;
sCommand: string;
wh,wm,ws,wms: Word;
IP: string;
begin
Result := '';
// Create VBS file if not exists
if setupScript then
begin
// Delete temporal files
if fileExists(InstallerPath + curlOutput) then
DeleteFile(InstallerPath + curlOutput);
curlOutputResult := curlOutput + '.result';
if fileExists(InstallerPath + curlOutputResult) then
DeleteFile(InstallerPath + curlOutputResult);
// Random IP
DecodeTime(Now, wh, wm, ws, wms);
IP := IntToStr(wms mod 255) + '.' + IntToStr(ws) + '.' + IntToStr(wm) + '.' + IntToStr(wh);
// CURL parameters:
// Create info file with return codes and possible errors, it's created after page is downloaded
sCommand := '-w "%output{' + InstallerPath + curlOutputResult + '}%{url}\nExitCode: %{exitcode}\nErrorMsg: %{errormsg}\nResponseCode: %{http_code}"';
// Download page and save to file
sCommand := sCommand + ' -L --output "' + InstallerPath + curlOutput + '" --url "' + address + '" ' + '-H "Accept: text/html, */*" -H "Accept-Language: it" -H "DNT: 1" -H "Priority: u=0, i" -H "Sec-Ch-Ua: \"Not)A;Brand\";v=\"8\", \"Chromium\";v=\"138\", \"Google Chrome\";v=\"138\"" -H "Sec-Ch-Ua-Mobile: ?0" -H "Sec-Ch-Ua-Platform: \"Windows\"" -H "Sec-Fetch-Dest: Document" -H "Sec-Fetch-Mode: Navigate" -H "Sec-Fetch-Site: None" -H "Sec-Fetch-User: ?1" -H "Upgrade-Insecure-Requests: 1" -H "X-Forwarded-For: ' + IP + '" -H "User-Agent: ' + curlUserAgent + '"';
//test slow connection, don't uncomment
//sCommand := '--limit-rate 1 ' + sCommand;
Sleep(delayBetweenRequest);
if UseVBS then
begin
// Launch CURL. Change " for #1 as VBS uses " for parameters. The VBS script undone the changes.
Launch('wscript.exe', '"' +InstallerPath + vbsScript + '" "' + curlPath + '" ' + StringReplace(sCommand, '"', #1));
end
else
Launch(curlPath, sCommand);
// Wait for end info file or timeout
cnt := 0;
while (not FileExists(InstallerPath + curlOutputResult)) and (cnt < TimeOut div 50) do
begin
cnt := cnt + 1;
Sleep(50);
end;
// if info file exists
if (fileExists(InstallerPath + curlOutputResult)) then
begin
fileContent := TStringList.Create;
try
// Read and delete info file
fileContent.LoadFromFile(InstallerPath + curlOutputResult);
DeleteFile(InstallerPath + curlOutputResult);
// if return error
if TextBetween(fileContent.Text, 'ErrorMsg: ', #13) <> '' then
ShowError('Error downloading page.' + #13 + fileContent.Text)
else if (fileExists(InstallerPath + curlOutput)) then // if downloaded page exits
begin
// Read and delete downloaded page
fileContent.LoadFromFile(InstallerPath + curlOutput);
DeleteFile(InstallerPath + curlOutput);
// Return page
Result := fileContent.Text;
//if Pos('</html>', Result) < 1 then
// ShowError('TRIM!!!');
end
else // no error, no download, no timeout...
ShowError('The page did not download');
finally
fileContent.Free;
end;
end
else // if not: timeout
ShowError('Internal Timeout!!');
end
else
begin
Sleep(delayBetweenRequest);
Result := GetPage5(address, referer, cookies, content, headers);
end;
end;
function setupScript: boolean;
var
ScriptContent: TStringList;
begin
Result := False;
// initialize working path
if (tmpDir <> '') then
InstallerPath := tmpDir
else
InstallerPath := dirScripts;
InstallerPath := IncludeTrailingPathDelimiter(InstallerPath);
// Create a generic VBS script that
// open a command with parameters in hidden window
if UseVBS then
if (not FileExists(InstallerPath + vbsScript)) then
begin
ScriptContent := TStringList.Create;
ScriptContent.Add('Dim Args()');
ScriptContent.Add('ReDim Args(WScript.Arguments.Count - 1)');
ScriptContent.Add('Args(0) = """" & WScript.Arguments(0) & """"');
ScriptContent.Add('For i = 1 To WScript.Arguments.Count - 1');
ScriptContent.Add(' Args(i) = Replace(WScript.Arguments(i), chr(1), chr(34))');
ScriptContent.Add('Next');
ScriptContent.Add('CreateObject("Wscript.Shell").Run Join(Args), 0, False');
ScriptContent.SaveToFile(InstallerPath + vbsScript);
ScriptContent.Free;
end;
Result := true;
end;
begin
end.OK, lo voy probando y si me sale algún fallo lo comento.Garada wrote: 2025-09-13 20:21:28 En teoría sí. Por ahí tenía un BAT que descargaba una lista de proxys para pasárselo a otro programa.
Pero prefiero dejarlo por ahora pq es complicar el script con mas consultas a la web.
He hecho un cambio que no se si engañará a la web de Filmaffinity, le he añadido a la llamada a cURL una IP aleotoria en la cabecera. Lo pueden probar los que les bloquean por muchas peticiones.
Sí, seria algo parecido a utilizar el botón Buscar más como el botón Siguiente en la página de búsqueda de la web.Garada wrote: 2025-09-14 10:20:51 El punto 2 me parece lo más correcto, es lo más parecido a usar la web.
Le echo un vistazo![]()
He hecho una prueba. He buscado Terror que en la búsqueda normal arroja más de 1000 resultados (la página de búsqueda avanzada ya avisa que lo limita a 500 resultados).Garada wrote: 2025-09-13 20:21:28 He hecho un cambio que no se si engañará a la web de Filmaffinity, le he añadido a la llamada a cURL una IP aleotoria en la cabecera. Lo pueden probar los que les bloquean por muchas peticiones.