Add Search Services

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

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

@ -23,7 +23,8 @@ router.get('/', (req, res) => {
'Specials': '/api/v2/specials/:type/:page',
'Tv': '/api/v2/tv/:type/:page',
'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({
info
});
}
} else { res.status(404) }
}).catch((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;

@ -3,7 +3,7 @@ const cheerio = require('cheerio');
const base64 = require('node-base64-image');
const {
BASE_ANIMEFLV, BASE_JIKAN, BASE_EPISODE_IMG_URL
BASE_ANIMEFLV, BASE_JIKAN, BASE_EPISODE_IMG_URL, SEARCH_URL
} = require('../api/urls');
const animeflvInfo = async(id) =>{
@ -239,15 +239,32 @@ const imageUrlToBase64 = async(url) => {
return await base64.encode(url, {string:true});
};
/*const imageUrlToBase64 = async(url) => {
let res = await cloudscraper({
url,
method: "GET",
encoding: null
});
const search = async() =>{ }
const searchAnime = async(query) => {
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) => {
for(var p in obj2) {
@ -282,6 +299,7 @@ module.exports = {
getAnimeVideoPromo,
animeExtraInfo,
imageUrlToBase64,
searchAnime,
MergeRecursive,
urlify
}
Loading…
Cancel
Save