fa-scraper icon indicating copy to clipboard operation
fa-scraper copied to clipboard

Parsed page has no content

Open JorgeTC opened this issue 6 months ago • 7 comments

En la función pages_from no se consigue iterar ninguna página. La primera llamada a requests.get(url) devuelve un request con status_code 403.

El contenido de la página que devuelve get contiene este body:

<body>
    <div class="main-wrapper" role="main">
        <div class="main-content"><noscript>
                <div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div>
            </noscript></div>
    </div>

JorgeTC avatar Jun 25 '25 17:06 JorgeTC

Hola @JorgeTC, gracias por abrir la issue, eres capaz de reproducir esto consistentemente?

mx-psi avatar Jun 27 '25 17:06 mx-psi

Sí. Al parecer FilmAffinity ha activado una protección Cloudflare. Existe una librería llamada cloudscraper que se puede usar en lugar de requests y que podría solucionar el problema.

JorgeTC avatar Jun 29 '25 20:06 JorgeTC

Gracias! De acuerdo con la GDPR FilmAffinity debería permitir a sus usuarios descargar sus datos en un formato "legible por máquinas", así que creo que en lugar de reescribir con cloudscraper preferiría añadir instrucciones para descargar ese fichero y convertirlo al formato de Letterboxd

mx-psi avatar Jun 30 '25 08:06 mx-psi

Hola, puedo confirmar que poniendo en fa_scraper.py:

import cloudscraper

scraper = cloudscraper.create_scraper()

y sustituyendo request = requests.get(url) por request = scraper.get(url) el programa funciona perfecto

alb-garj avatar Aug 10 '25 22:08 alb-garj

@alb-garj Pues si quieres hacer un PR puedo revisarlo

mx-psi avatar Aug 11 '25 08:08 mx-psi

Creada PR: https://github.com/mx-psi/fa-scraper/pull/169

alb-garj avatar Aug 11 '25 11:08 alb-garj

@alb-garj He hecho merge del PR pero parece que aún así hay que hacer más cambios porque la UI de FilmAffinity ha cambiado

mx-psi avatar Aug 14 '25 20:08 mx-psi