Sign inSign up

matt0550/eurostreamingapi-scraping

By matt0550

โ€ขUpdated about 2 years ago

An unofficial REST API for Eurostreaming website, with a WebApp to search for movies and series.

Image
API management
0

480

matt0550/eurostreamingapi-scraping repository overview

Forks Stargazers Issues MIT License Discord Docker Pulls


Logo โ 
โ Eurostreaming Unofficial REST API & WebApp

An unofficial REST API for Eurostreaming website, with a WebApp to search for movies and series. Using FastAPI and BeautifulSoup.

Report Bugโ  ยท Request Featureโ 

All the data is scraped from the Eurostreaming website. This project is for educational purposes only. I do not condone piracy in any way. Please use this project responsibly.

Copyright and all rights belong to the respective owners.

โ EurostreamingAPI-scraping

An unofficial REST API for Eurostreaming website, with a WebApp to search for movies and series. Using FastAPI and BeautifulSoup.

โ Features

  • Get all series per page
  • Search for series
  • Get the list of seasons and episodes of a series and related links to watch them

โ API Endpoints

  • /shows/{page}: Get all series per page. Page is an integer and is required.
  • /search?q={query}&page={page}: Search for series. Query is a string and is required. Page is an integer and is optional.
  • /show?path={show_path}&alsoEpisodes={alsoEpisodes}: Get the list of seasons and episodes of a series and related links to watch them. Show_path is a string and is required. AlsoEpisodes is a boolean and is optional, default is true.

Tip

The API is self-documented. You can access the Swagger UI at `/docs` and the ReDoc UI at `/redoc`.

โ WebApp

A WebApp is now available as a Telegram Mini App. Check out the repository hereโ .

Demo video:

https://raw.githubusercontent.com/Matt0550/public-gaac/main/uploads/demo_eurostreaming_telegram_bot.mp4โ 

โ TO-DO

  • Add Dockerfile
  • Add Docker Compose
  • Add WebApp (Now available as a Telegram Mini App. Check it out hereโ )
  • Add show categories

โ Public instance of the API

Unfortunately, I can't provide a public instance of the API because scraping is not a good practice and it's illegal in some cases. You can host your own instance of the API using the instructions below.

โ Environment Variables (docker)

VariableDescriptionDefault
PUIDUser ID1000
PGIDGroup ID1000

Clone the project

version: '3'

services:
  eurostreaming_scraping:
    image: matt0550/eurostreamingapi-scraping
    environment:
      - PUID=1000     # UID of the user inside the container, make sure it has access to the database file
      - PGID=1000     # GID of the user inside the container, make sure it has access to the database file
    ports:
      - 5000:5000
    restart: unless-stopped

Run the container with docker-compose up -d

โ Installation - Using Docker Run

Pull the image

  docker run -d -p 5000:5000 -e PUID=1000 -e PGID=1000 matt0550/eurostreamingapi-scraping

โ Installation - Self-Host or docker build

Clone the project

  git clone https://github.com/Matt0550/EurostreamingAPI-scraping

Go to the project directory

  cd EurostreamingAPI-scraping-master

OPTIONAL: use docker to build the image

  docker build -t eurostreamingAPI-scraping .

If you don't want to use docker, skip this step. Else, change the image in docker-compose.yml with the image name you used. Run the container with docker-compose up -d

Install dependencies

  pip install -r requirements.txt

Start the REST API (after setting the environment variables)

  cd api
  fastapi run api.py

โ Help - feedback

You can contact me on:

Discord: https://go.matteosillitti.it/discordโ 

Telegram: https://go.matteosillitti.it/telegramโ 

Mail: [email protected]โ 

โ License

GNU GPLv3โ 

โ Support me

ko-fi

buy-me-a-coffee

paypal

Tag summary

Content type

Image

Digest

sha256:1361e398cโ€ฆ

Size

201.2 MB

Last updated

about 2 years ago

docker pull matt0550/eurostreamingapi-scraping