Add Search Services

pull/1/head
Jéluchu 5 years ago
parent 37e2e813d1
commit 0338861c0f

@ -7,7 +7,8 @@ const {
imageUrlToBase64, imageUrlToBase64,
getAnimeCharacters, getAnimeCharacters,
getAnimeVideoPromo, getAnimeVideoPromo,
animeExtraInfo animeExtraInfo,
searchAnime
} = require('../utils/index'); } = require('../utils/index');
const { const {
@ -355,6 +356,10 @@ const getAnimeServers = async (id) => {
}; };
const search = async (title) =>{
return await searchAnime(title);
};
module.exports = { module.exports = {
schedule, schedule,
top, top,
@ -368,5 +373,6 @@ module.exports = {
getSpecials, getSpecials,
getTv, getTv,
getMoreInfo, getMoreInfo,
getAnimeServers getAnimeServers,
search
}; };

@ -23,7 +23,8 @@ router.get('/', (req, res) => {
'Specials': '/api/v2/specials/:type/:page', 'Specials': '/api/v2/specials/:type/:page',
'Tv': '/api/v2/tv/:type/:page', 'Tv': '/api/v2/tv/:type/:page',
'MoreInfo': '/api/v2/moreInfo/:title', 'MoreInfo': '/api/v2/moreInfo/:title',
'GetAnimeServers': '/api/v2/getAnimeServers/:id' 'GetAnimeServers': '/api/v2/getAnimeServers/:id',
'Search': '/api/v2/search/:title'
} }
] ]
}); });

@ -176,7 +176,7 @@ router.get('/moreInfo/:title' , (req, res) =>{
res.status(200).json({ res.status(200).json({
info info
}); });
} } else { res.status(404) }
}).catch((err) =>{ }).catch((err) =>{
console.error(err); console.error(err);
}); });
@ -198,4 +198,19 @@ router.get('/getAnimeServers/:id([^/]+/[^/]+)' , (req, res) =>{
}); });
router.get('/search/:title' , (req, res) =>{
let title = req.params.title;
api.search(title)
.then(search =>{
res.status(200).json({
search
});
}).catch((err) =>{
console.error(err);
});
});
module.exports = router; module.exports = router;

@ -3,7 +3,7 @@ const cheerio = require('cheerio');
const base64 = require('node-base64-image'); const base64 = require('node-base64-image');
const { const {
BASE_ANIMEFLV, BASE_JIKAN, BASE_EPISODE_IMG_URL BASE_ANIMEFLV, BASE_JIKAN, BASE_EPISODE_IMG_URL, SEARCH_URL
} = require('../api/urls'); } = require('../api/urls');
const animeflvInfo = async(id) =>{ const animeflvInfo = async(id) =>{
@ -239,15 +239,32 @@ const imageUrlToBase64 = async(url) => {
return await base64.encode(url, {string:true}); return await base64.encode(url, {string:true});
}; };
/*const imageUrlToBase64 = async(url) => { const search = async() =>{ }
let res = await cloudscraper({
url, const searchAnime = async(query) => {
method: "GET",
encoding: null const res = await cloudscraper(`${SEARCH_URL}${query}`);
}); const body = await res;
const $ = cheerio.load(body);
const promises = [];
$('div.Container ul.ListAnimes li article').each((index , element) =>{
const $element = $(element);
const id = $element.find('div.Description a.Button').attr('href').slice(1);
const title = $element.find('a h3').text();
let poster = $element.find('a div.Image figure img').attr('src') || $element.find('a div.Image figure img').attr('data-cfsrc');
promises.push(search().then(async extra => ({
id: id || null,
title: title || null,
image: await imageUrlToBase64(poster) || null
})));
})
return Buffer.from(res).toString("base64"); return Promise.all(promises);
};*/
};
const MergeRecursive = (obj1 , obj2) => { const MergeRecursive = (obj1 , obj2) => {
for(var p in obj2) { for(var p in obj2) {
@ -282,6 +299,7 @@ module.exports = {
getAnimeVideoPromo, getAnimeVideoPromo,
animeExtraInfo, animeExtraInfo,
imageUrlToBase64, imageUrlToBase64,
searchAnime,
MergeRecursive, MergeRecursive,
urlify urlify
} }
Loading…
Cancel
Save