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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

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)

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

  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

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