33% found this document useful (21 votes)
19K views

Module For Katsu App

The document describes the configuration of a module for scraping an anime streaming website. It includes the module name, description, developer and various settings for scraping different parts of the site like the main page, search results, anime info pages, and episodes. JavaScript code is provided to parse the site HTML and output structured JSON data.

Uploaded by

victor
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
33% found this document useful (21 votes)
19K views

Module For Katsu App

The document describes the configuration of a module for scraping an anime streaming website. It includes the module name, description, developer and various settings for scraping different parts of the site like the main page, search results, anime info pages, and episodes. JavaScript code is provided to parse the site HTML and output structured JSON data.

Uploaded by

victor
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

{ "moduleName": "AnimeFLV", "moduleInitials": "AFLV", "moduleDesc": "Module

For AnimeFLV Website", "developer": "Uknown", "moduleID": "3", "moduleImage":


"https://i.imgur.com/xRCvWPH.png", "moduleVersion": "2.2", "moduleLenguage":
"ESP", "moduleHasVideos": "true", "randomizeUserAgent": "false", "baseURL":
"https://animeflv.net/", "mainPageLeftTitle": "Last Episodes",
"mainPageRightTitle": "Last Animes", "blackListed": [ "" ], "mainPage": [
{ "request": "https://animeflv.net/", "method": "get", "headers":
[ { "key": "", "value": "" } ],
"extraInfo": [ { "value": "" } ],
"loadJavascript": "false", "javaScript": "function Header(key,value)
{ this.key = key; this.value = value; } function ExtraInfo(value) { this.value =
value; } function Output(lastEpisodes,lastAnimes) { this.lastEpisodes =
lastEpisodes; this.lastAnimes = lastAnimes; } function
LastAnimes(moduleID,image,link,title) { this.moduleID = moduleID; this.image =
image; this.link = link; this.title = title; } function
LastEpisodes(moduleID,image,link,title,episode) { this.moduleID = moduleID;
this.image = image; this.link = link; this.title = title; this.episode = episode; }
function
MainPageObject(request,headers,method,extraInfo,loadJavascript,javaScript,output) {
this.request = request; this.headers = headers; this.method = method;
this.extraInfo = extraInfo; this.loadJavascript = loadJavascript; this.javaScript =
javaScript; this.output = output; } var moduleID = '3'; var mainPageObject; var
output; var headers = []; var lastAnimes = []; var lastEpisodes = []; var extraInfo
= []; var savedData = document.getElementById('katsu-final-data'); var eps =
document.querySelector('.ListEpisodios').querySelectorAll('li'); for (var i = 0; i
< eps.length; ++i) { if (eps[i].innerHTML != 'EN EMISION') { var link =
eps[i].querySelector('a').href.replace('file://',''); var image =
eps[i].querySelector('img').src.replace('file://',''); var title =
eps[i].querySelector('strong').innerHTML; var episodes =
eps[i].querySelector('.Capi').innerHTML; var episode = new
LastEpisodes(moduleID,'https://animeflv.net' + image,'https://animeflv.net'
+link,title,episodes); lastEpisodes.push(episode); } } var animes =
document.querySelector('.ListAnimes').querySelectorAll('li'); for (var i = 0; i <
animes.length; ++i) { var link =
animes[i].querySelector('a').href.replace('file://',''); var image =
animes[i].querySelector('img').src.replace('file://',''); var title =
animes[i].querySelector('h3').innerHTML; var anime = new
LastAnimes(moduleID,'https://animeflv.net' + image,'https://animeflv.net'
+link,title); lastAnimes.push(anime); } output = new
Output(lastEpisodes,lastAnimes); headers.push(new Header('',''));
extraInfo.push(new ExtraInfo('')); mainPageObject = new
MainPageObject('',headers,'',extraInfo,'','',output); var finalJson =
JSON.stringify(mainPageObject); savedData.innerHTML = finalJson;", "output":
{ "lastEpisodes": [ { "moduleID": "0",
"image": "", "link": "", "title": "",
"episode": "" } ], "lastAnimes": [ {
"moduleID": "0", "image": "", "link": "",
"title": "" } ] } } ], "search":
[ { "request": "https://animeflv.net/browse?q=<searched>&page=<page>/",
"method": "get", "headers": [ { "key": "",
"value": "" } ], "separator": "+", "extraInfo": [
{ "value": "" } ], "loadJavascript": "false",
"javaScript": " function Header(key,value) { this.key = key; this.value = value; }
function ExtraInfo(value) { this.value = value; } function
Output(moduleID,image,link,title,type,voice,stars) { this.moduleID = moduleID;
this.image = image; this.link = link; this.title = title; this.type = type;
this.voice = voice; this.stars = stars; } function
SearchObject(request,method,headers,separator,extraInfo,loadJavascript,javaScript,o
utput) { this.request = request; this.method = method; this.headers = headers;
this.separator = separator; this.extraInfo = extraInfo; this.loadJavascript =
loadJavascript; this.javaScript = javaScript; this.output = output; } var moduleID
= '3'; var searchPageObject; var output = []; var headers = []; var extraInfo = [];
var savedData = document.getElementById('katsu-final-data'); var animes =
document.querySelectorAll('.Anime'); for (var i = 0; i < animes.length; ++i) { var
link = animes[i].querySelector('a').href.replace('file://',''); var image =
animes[i].querySelector('img').src.replace('file://',''); var title =
animes[i].querySelector('h3').innerHTML; var anime = new
Output(moduleID,image,'https://animeflv.net' + link,title,'ANIME','SUB','★★★★★');
output.push(anime); } headers.push(new Header('','')); extraInfo.push(new
ExtraInfo('')); searchPageObject = new
SearchObject('','',headers,'_',extraInfo,'','',output); var finalJson =
JSON.stringify(searchPageObject); savedData.innerHTML = finalJson;",
"output": [ { "moduleID": "0", "image": "",
"link": "", "title": "", "type": "", "voice": "",
"stars": "" } ] } ], "info": [ { "request": "get",
"method": "get", "headers": [ { "key": "",
"value": "" } ], "extraInfo": [ { "value": ""
} ], "loadJavascript": "false", "javaScript": "function
Header(key, value) { this.key = key; this.value = value;}function ExtraInfo(value)
{ this.value = value;}function Output(moduleID, image, link, title, description,
genres, type, status, episodes) { this.moduleID = moduleID; this.image = image;
this.link = link; this.title = title; this.description = description; this.genres =
genres; this.type = type; this.status = status; this.episodes = episodes;}function
Episodes(link, moduleID, isDecodable) { this.link = link; this.moduleID = moduleID;
this.isDecodable = isDecodable;}function InfoObject(request, method, headers,
extraInfo, loadJavascript, javaScript, output) { this.request = request;
this.method = method; this.headers = headers; this.extraInfo = extraInfo;
this.loadJavascript = loadJavascript; this.javaScript = javaScript; this.output =
output;}var savedData = document.getElementById('katsu-final-data');var moduleID =
'3';var infoObject;var output;var headers = [];var extraInfo = [];var eps = [];var
type = 'Uknown';var status = 'Uknown';var genres = [];var parsedJson =
JSON.parse(savedData.innerHTML);var javascriptP =
document.querySelectorAll('p');for (var x = 0; x< javascriptP.length;x++) { var
lmfao = javascriptP[x].innerText; if (lmfao.includes('var anime_info')) { var
javascriptExecute = lmfao.split('var last_seen')[0]; eval(javascriptExecute);
break; }}var title =
document.querySelector('.Ficha').querySelector('.Title').innerText;var image =
document.querySelector('.Image').querySelector('img').src;image =
'https://animeflv.net' + image;var theGenres =
document.querySelector('.Nvgnrs').querySelectorAll('a');for (var x = 0; x <
theGenres.length; x++) { var selected = theGenres[x].href; var filterSelected =
selected.replace('/browse?genre=', '').replace('file://', '');
genres.push(filterSelected);}var desc =
document.querySelector('.Depion').innerText.replace(/\\n/g, '');var ezFix = '' +
parsedJson.request;ezFix = ezFix.replace('/anime/', '/ver/');var nameLink =
ezFix.split('/')[4];for (var x = 0; x < episodes.length; x++) { var id =
episodes[x][1]; var ep = episodes[x][0]; var finalLink =
'https://animeflv.net/ver/' + id + '/' + nameLink + '-' + ep; eps.push(new
Episodes(finalLink, moduleID, 'false'));}eps.reverse();output = new
Output(moduleID, image, parsedJson.request, title, desc, genres, type, status,
eps);extraInfo.push(new ExtraInfo(''));headers.push(new Header('', ''));infoObject
= new InfoObject('', 'get', headers, extraInfo, '', '', output);var finalJson =
JSON.stringify(infoObject);savedData.innerHTML = finalJson;", "output": {
"moduleID": "0", "image": "", "link": "", "title": "",
"description": "", "genres": [ "" ], "type": "",
"status": "", "episodes": [ { "link": "",
"moduleID": "", "isDecodable": "false" } ] }
} ], "episodes": [ { "request": "empty", "method": "get",
"headers": [ { "key": "key", "value": "value" }
], "extraInfo": [ { "value": "" } ],
"loadJavascript": "false", "javaScript": "function Header(key, value)
{ this.key = key; this.value = value;}function ExtraInfo(value) { this.value =
value;}function Output(link, linkIdentifier, moduleID, isDecodable, headers)
{ this.link = link; this.linkIdentifier = linkIdentifier; this.moduleID = moduleID;
this.isDecodable = isDecodable; this.headers = headers;}function
EpisodeObject(request, method, headers, extraInfo, loadJavascript, javaScript,
output) { this.request = request; this.method = method; this.headers = headers;
this.extraInfo = extraInfo; this.loadJavascript = loadJavascript; this.javaScript =
javaScript; this.output = output;}var moduleID = '3';var episodeObject;var output =
[];var headers = [];var extraInfo = [];var videoHeaders = [new Header('', '')];var
savedData = document.getElementById('katsu-final-data');var javascriptP =
document.querySelectorAll('p');for (var x = 0; x< javascriptP.length;x++) { var
lmfao = javascriptP[x].innerText; if (lmfao.includes('var episode_id')) {
var javascriptExecute = lmfao.split('}]};')[0] + '}]};'; eval(javascriptExecute);
break; }}let vids = videos.SUB;for (var x = 0; x < vids.length; x++) { var epLink =
vids[x].code; var epLinkSave = epLink; if (epLink.includes('mega')) { epLink =
vids[x].url; } if (!epLink.includes('http') && epLink.includes('gocdn.html#'))
{ epLink = 'https://streamium.xyz/gocdn.php?v=' + epLink.split('.html#')[1];
output.push(new Output(epLink, 'DOWNLOAD_ONLY', '3', 'false', videoHeaders)); }
else { output.push(new Output(epLink, '', '3', 'false',
videoHeaders)); }}headers.push(new Header('', ''));extraInfo.push(new
ExtraInfo(''));episodeObject = new EpisodeObject('', '', headers, extraInfo, '',
'', output);var finalJson = JSON.stringify(episodeObject);savedData.innerHTML =
finalJson;", "output": [ { "link": "",
"linkIdentifier": "", "moduleID": "", "isDecodable": "false",
"headers": [ { "key": "key", "value":
"value" } ] } ] } ] }

You might also like