Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jodevsa/subscene_scraper
Library to download subtitles from subscene.com
https://github.com/jodevsa/subscene_scraper
automation scraping subscene subtitles
Last synced: 12 days ago
JSON representation
Library to download subtitles from subscene.com
- Host: GitHub
- URL: https://github.com/jodevsa/subscene_scraper
- Owner: jodevsa
- Archived: true
- Created: 2016-08-03T23:46:37.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-10-31T14:38:36.000Z (about 5 years ago)
- Last Synced: 2024-08-11T11:32:30.049Z (3 months ago)
- Topics: automation, scraping, subscene, subtitles
- Language: JavaScript
- Homepage:
- Size: 2.62 MB
- Stars: 14
- Watchers: 3
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-jordan - Subscene Scraper - Automate subtitle's downloading. (NodeJS / Gists)
README
# Project Name
### subscene_scraper
#
#
[![asciicast](https://asciinema.org/a/1TwTvEdgZGUbJRZIORIGJr0ey.png)](https://asciinema.org/a/1TwTvEdgZGUbJRZIORIGJr0ey)
[subd](https://github.com/jodevsa/subd) command## changelog v1.3.5
#### re-written in ES7
#### fixed various bugs.
## Installation
npm install subscene_scraper --save## Usage:
### example(1)
##### download a subtitle for a movie in our current working directory
#### code:var subscene_scraper=require('subscene_scraper');
// for example we will download the subtitle file at current working directory
var path=process.cwd();//all languages supported by subscene.com are now supported.
subscene_scraper.passiveDownloader('interstellar','english',path)
.then(function(savedFiles){
console.log('subtitle saved to ',savedFiles);
})
.catch(function(err){
console.log('error:',err);
});### example(2)
##### Interactive downloader
//title subtiles have 2 steps (1) chooseTitle (2) chooseRelease
// release subtitles have 1 step (1) chooseRelease
// you'll have to implement chooseTitleSubtitle,chooseReleaseSubtitle functions.
var subscene_scraper=require('subscene_scraper');
var interactiveDownloader=subscene_scraper.interactiveDownloader;
const downloader = interactiveDownloader(movieName, language, saveLocation);
downloader.on('info', async (info, choose) => {
if (info.type === 'title') {
// type === 'title'
// chooseTitle (1)
/// choose subtitle from info.result
const result = choose(chooseTitleSubtitle(info.result));
choose(result);
} else {
/// type === 'release'
// chooseRelease (1)
/// choose subtitle from info.result
choose(chooseReleaseSubtitle(info.result));
}
}).on('title', async (list, choose) => {
// chooseRelease (2)
const result = chooseReleaseSubtitle(list);
choose(result);
}).on('done', (result, movieName) => {
console.log('Downloaded Subtitle at', result)
})