mirror of
https://github.com/knightcrawler-stremio/knightcrawler.git
synced 2024-12-20 03:29:51 +00:00
add erai rss scraper
This commit is contained in:
50
scraper/scrapers/erairaws/erairaws_rss_api.js
Normal file
50
scraper/scrapers/erairaws/erairaws_rss_api.js
Normal file
@@ -0,0 +1,50 @@
|
||||
const Parser = require('rss-parser');
|
||||
const decode = require("magnet-uri");
|
||||
|
||||
const parser = new Parser({
|
||||
customFields: {
|
||||
item: [['erai:subtitles', 'subtitles']]
|
||||
}
|
||||
});
|
||||
const baseUrl = 'https://www.erai-raws.info';
|
||||
const rssKey = process.env.ERAI_RSS_KEY;
|
||||
|
||||
const Categories = {
|
||||
ANIMES: 'anime',
|
||||
EPISODES: 'episodes'
|
||||
};
|
||||
|
||||
function browse() {
|
||||
return parser.parseURL(`${baseUrl}/feed/?type=magnet&${rssKey}`)
|
||||
.then(result => result.items
|
||||
.map(item => {
|
||||
const decodedMagnet = decode(item.link);
|
||||
const languages = parseLanguages(item.subtitles);
|
||||
return {
|
||||
title: decodedMagnet.name,
|
||||
infoHash: decodedMagnet.infoHash,
|
||||
trackers: decodedMagnet.tr,
|
||||
languages: languages
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
const languageMapping = {
|
||||
'us': 'English',
|
||||
'br': 'Portuguese(Brazil)',
|
||||
'mx': 'Spanish(Latin_America)',
|
||||
'es': 'Spanish',
|
||||
'sa': 'Arabic',
|
||||
'fr': 'French',
|
||||
'de': 'German',
|
||||
'it': 'Italian',
|
||||
'ru': 'Russian'
|
||||
}
|
||||
function parseLanguages(languages) {
|
||||
return languages.split('][')
|
||||
.map(lang => lang.replace(/[\[\]]/g, ''))
|
||||
.map(lang => languageMapping[lang] || lang)
|
||||
.join('/');
|
||||
}
|
||||
|
||||
module.exports = { browse, Categories };
|
||||
@@ -1,6 +1,6 @@
|
||||
const moment = require('moment');
|
||||
const Bottleneck = require('bottleneck');
|
||||
const erairaws = require('./erairaws_api');
|
||||
const erairaws = require('./erairaws_rss_api');
|
||||
const { checkAndUpdateTorrent } = require('../../lib/torrentEntries');
|
||||
|
||||
const NAME = 'EraiRaws';
|
||||
@@ -41,7 +41,7 @@ function untilPage(category) {
|
||||
if (category === erairaws.Categories.ANIMES) {
|
||||
return 45;
|
||||
}
|
||||
return 3;
|
||||
return 1;
|
||||
}
|
||||
|
||||
module.exports = { scrape, NAME };
|
||||
|
||||
Reference in New Issue
Block a user