Updated readme

main
Max Nuding 2022-01-12 12:31:16 +01:00
parent c7948fcf07
commit d6ff153d26
Signed by: phlaym
GPG Key ID: A06651BAB6777237
1 changed files with 1 additions and 19 deletions

View File

@ -5,8 +5,6 @@ Requirements
The following are needed to run this script:
- Python, version 3.8 to 3.10: I have tested 3.8.10 and 3.10.0. Older versions might work, but 3.6 is a hard minimum
- Firefox: It should be fairly easy to switch to Chrome instead, `nebula_loader.py` has a few references to Firefox which one would need to alter
- [Geckodriver](https://github.com/mozilla/geckodriver/releases/) is needed to remote-control Firefox. The executable should be in your path, it's possible to specify the path to the binary in the config file. Replace with ChromeDriver for Chrome
- [Poetry](https://python-poetry.org): Not a hard requirement, I have included a requirements.txt which can be used to install dependencies with `pip install -r requirements.txt`
. I haven't tested this, and the list is auto-generated by poetry, using python 3.10
@ -34,20 +32,4 @@ I have not tested this on windows, but it should work without issues.
Notes
=====
This is an extremely hacky solution and basically loads the Nebula homepage, logs in, goes to "My Library" and loads the list of videos. Naturally, this may break at any time, e.g. every time Nebula changes their layout slightly.
Right after finishing this, I found a way to directly load the list of videos:
curl 'https://content.watchnebula.com/library/video/?page=1' \
-X 'GET' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Origin: https://nebula.app' \
-H 'Referer: https://nebula.app/' \
-H 'Accept-Language: en-GB,en;q=0.9' \
-H 'Host: content.watchnebula.com' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15' \
-H 'Authorization: Bearer ADD_TOKEN_HERE' \
-H 'Connection: keep-alive' \
-H 'Nebula-Platform: web'
When I get around to implementing this (that is: logging in, reading the authorisation token, and then parsing the result) I might switch to this instead, should be more stable.
This is an extremely hacky solution and uses the internal API. Naturally, this may break at any time.