SUBSCENE-API (v 0.2)π
subscene API also known as subtitle API is an unofficial API of subscene subtitle provider which is written in python3 by using web scrapping tools and techniques.This api allows you to fetch subtitles list,download links as well as subtitles(in ZIP format) on the basis of the movie's title and other parameters (they are discribed below in the Usage section).
πΉHow to install ?
Subscene API requires:
- python (>=3.7)
- requests (==2.23.0)
- beautifulsoup4 (==4.9.0)
below given code works in both terminal and cmdβοΈ It can be installed using pip
$ pip install subsceneAPI==<version>
since the current version is 0.1. You can write
$ pip install subsceneAPI==0.2
To test if the installation was sucessiful,try:
$ subsceneAPI -v
OR
$ subsceneAPI --version
For successful installation, the expected output is :
$ subscene-API 0.2
subscene API can be use both from command line and as a python package. Command line is not recommended here because it is just for testing purpose and all the features of the package are not included in CLI version. This API can be useful for developing subtitle downloader and any other web based project which includes subtitle information.
All the commands for subscene API can be found using help flag.
$ subsceneAPI -h
OR
$ subsceneAPI --help
To get the list of available subtitles along with download links, try :
$ subsceneAPI -t "movie title/name" -y "2020" -lng "english"
OR
$ subsceneAPI --title "movie title/name" --year "2020" --language "english"
Remember,
-t or --title and -y or --year is mandatory. The default argument for -lng or --language is "english".You can find the possible choices for language in --help result
Import module subtitle from the package subsceneAPI
import subsceneAPI
from subsceneAPI import subtitle
Now,
create an instance of subscene object by using function :
search(title="<movie name>",year="<yrs>,language="<language>",limit="<no of subtitles that you want>")
βNote, the title is mandatory but not the limit and year.Although,year argument should be pass for more accurate and expected result.In addition, the default value for limit is 1 and all other possible values are positive integers and 'all'. With the value 'all', every available subtitles' information will be fetched.
For instance ,
import subsceneAPI
# or more ofthen,
from subsceneAPI import subtitle
obj = subtitle.search(title="extraction",year="2020",language="english",limit="1")
>>> from subsceneAPI import subtitle
>>> sub = subtitle.search(title="extraction",year="2020",language="english",limit="2")
>>> print(sub.ZIPlinks) # or obj.showZIPlinks()
[('νμμ νκ΅ 2015.E01~E16.HDTV.H264.720p-WITH ',
'https://www.subscene.com/subtitles/arabic-text/PU109MKIN052gH-c1GWyOCfTWLMLKmlfMrQXJcMMwO6b288LtEhtMIfkExgzB7hs8R0xZVR460THHwMT1PZ4iOPs6Vh_BjVhUJUfUxTc9yW8wCJ_tUbDzkpFsw4ofmIL0'),
('Who.Are.You.School-2015.E02-16.END.XviD-WITH-iPOP ',
'https://www.subscene.com/subtitles/arabic-text/EgiL6LXr7Kp3bTtOT9fezovIu-6a5NcuPm66f8JPgPEP9HYHdM3yCXr9pQME2-hTCZeiPHusemyNgyVxVcW9qp6hmY3GCPJxXPuFBDWmb4XP58RNtbs8Gkij9EBxBiuv0')]
obj.ZIPlinks
- contains the list of tuples of subtitle name and the download link of ZIPPed .srt file
- download in current directory:
>>> sub.downloadZIP()
- download at any absolute path:
>>> sub.downloadZIP(path="<abs path>")
Contibuters of all experience levels are warmly welcomed to be the part of the subscene API community.The community goals are to be helpful,welcoming,effective.
- official source code repo : https://github.com/s-4-m-a-n/subscene-API
- Download release : https://pypi.org/project/subsceneAPI/
you can check the latest sources with the command :
git clone https://github.com/s-4-m-a-n/subscene-API.git
It is an open source project and is being licensed under MIT LICENSE - click me to get to the license file for more details. It is not an official subscene version : 4.0 product.