Skip to content

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

License

Notifications You must be signed in to change notification settings

Matt0550/EurostreamingAPI-scraping

Repository files navigation

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:

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

Currently, I’m unable to provide a public instance of the API because web scraping is not permitted by the Eurostreaming website and is considered unethical. To avoid any potential issues or conflicts, I’ve decided not to make the bot publicly accessible. I apologize for any inconvenience this may cause and appreciate your understanding.

Environment Variables (docker)

Variable Description Default
PUID User ID 1000
PGID Group ID 1000

Installation - Using Docker Compose (recommended)

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 If you don't want to use docker, you can just go ahead and skip this step. Otherwise, change the image in docker-compose.yml with the image name you used. Run the container with docker-compose up -d

  docker build -t eurostreamingAPI-scraping .

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://matt05.it/discord

Telegram: https://matt05.it/telegram

Mail: mail@matteosillitti.com

License

GNU GPLv3

Support me

ko-fi

buy-me-a-coffee

paypal

About

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

Topics

Resources

License

Stars

Watchers

Forks