koleksi-api
Version:
50 lines (47 loc) • 2.1 kB
JavaScript
const axios = require('axios');
const cheerio = require('cheerio');
function quotesAnime() {
return new Promise((resolve, reject) => {
const page = Math.floor(Math.random() * 189)
axios.get('https://otakotaku.com/quote/feed/'+page)
.then(({ data }) => {
const $ = cheerio.load(data)
const hasil = []
$('div.kotodama-list').each(function(l, h) {
hasil.push({
link: $(h).find('a').attr('href'),
gambar: $(h).find('img').attr('data-src'),
karakter: $(h).find('div.char-name').text().trim(),
anime: $(h).find('div.anime-title').text().trim(),
episode: $(h).find('div.meta').text(),
up_at: $(h).find('small.meta').text(),
quotes: $(h).find('div.quote').text().trim()
})
})
resolve(hasil)
}).catch(reject)
})
}
function character(query) {
return new Promise((resolve, reject) => {
axios.get(`https://www.anime-planet.com/characters/all?name=${query}`)
.then(({
data
}) => {
const hasil = []
const $ = cheerio.load(data)
$('#siteContainer > table > tbody > tr').each(function (a, b) {
result = {
status: 200,
character: $(b).find('> td.tableCharInfo > a').text(),
link: 'https://www.anime-planet.com' + $(b).find('> td.tableCharInfo > a').attr('href'),
thumbnail: $(b).find('> td.tableAvatar > a > img').attr('src').startsWith('https://') ? $(b).find('> td.tableAvatar > a > img').attr('src') : 'https://www.anime.planet.com' + $(b).find('> td.tableAvatar > a > img').attr('src')
};
hasil.push(result);
});
resolve(hasil)
})
.catch(reject)
})
}
module.exports = { quotesAnime, character }