Skip to content

Conversation

@Simoneu01
Copy link

@Simoneu01 Simoneu01 commented Jul 19, 2022

close: MainKronos/Sonarr-AnimeDownloader#21

Con questa PR aggiungo il pacchetto requests-html che permette di renderizzare il js della pagina.

dopo aver renderizzato la pagina avvio uno script, che mi restituisce i dati richiesti.

Praticamente per renderizzare viene installato un browser headless → https://github.com/puppeteer/puppeteer

Ah ultima cosa non sono riuscito a testare in locale tutto, ma solo il fatto che prenda i cookie, quindi sarebbe meglio fare un test aggiuntivo.

@MainKronos
Copy link
Owner

@Simoneu01 complimenti per essere riuscito a ottenere SecurityAW e csfrToken.

Sto facendo un po' di test e comunque da errore, come se il codice SecurityAW non fosse valido e non capisco come sia possibile.
Chissà quanto tempo ci hanno impiegato quelli di AnimeWorld ad erigere questo groviglio di codice 😂.

Comunque, sto creando un unittest per debuggare più facilmente

@Simoneu01
Copy link
Author

ty, ora cerchiamo di far workare tutto, daje

A me in locale da questo errore, non so se è lo stesso tuo. Fammi sapere e ci lavoriamo:

  File "/home/simo/code/AnimeWorld-API/test.py", line 5, in <module>
    res = aw.find("No game no life")
  File "/home/simo/code/AnimeWorld-API/animeworld/utility.py", line 73, in wrapper
    raise e
  File "/home/simo/code/AnimeWorld-API/animeworld/utility.py", line 68, in wrapper
    return fun(*args, **kwargs)
  File "/home/simo/code/AnimeWorld-API/animeworld/utility.py", line 128, in find
    data = res.json()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 897, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 518, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Process finished with exit code 1

file test.py per testare le funzionalità della libreria

TODO: da apliare
@MainKronos
Copy link
Owner

MainKronos commented Jul 19, 2022

Ho aggiunto un unittest, da ampliare successivamente...
Se provi ad avviare il file test.py il subtest getName fallisce perchè la pagina web (questa) non è quella che dovrebbe essere, cioè è uguale a quella iniziale utilizzata per ottenere il SecurityAW...

Questo mi fà pensare che forse il SecurityAW non sia valido....

Inoltre ho aumentato il timeout (qui) perchè non riusciva a caricare in tempo e mi sollevava un eccezione

@MainKronos
Copy link
Owner

Mi correggo, per magia adesso funziona ma adesso vengono sollevate un sacco di eccezioni di Timeout non so... Accade anche a te?

@Simoneu01
Copy link
Author

Avevano messo il check con cloudflare sul sito, adesso lo hanno tolto.
Se lo raggiungono l'unico modo è utilizzare flaresolverr

@MainKronos
Copy link
Owner

Se sei d'accordo lascerei questa richiesta di pull aperta nel caso (secondo me probabile) si ripresentasse lo stesso problema.
Per ora preferisco non fare un merge perché l'utilizzo di requests-html renderebbe più lenta la libreria

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🅰🅻🅴🆁🆃: Il sito è cambiato, di conseguenza la libreria è deprecata

2 participants