thehiddenbay
Version:
thepiratebay unoffical api
31 lines (28 loc) • 1.12 kB
JavaScript
const cheerio = require('cheerio');
const axios = require('axios');
async function piratebay({query}) {
const torrents = [];
const url = 'https://thehiddenbay.com/search/' + query + '/1/99/200';
let html;
try{
html = await axios.get(url);
}catch{
return null;
}
const $ = cheerio.load(html.data);
$('table#searchResult tr').each((_, element) => {
const torrent = {
title: $(element).find('a.detLink').text(),
url: $(element).find('a.detLink').attr('href'),
magnet: $(element).find('td div.detName').next().attr('href'),
seed: $(element).find('td').eq(2).text(),
leech: $(element).find('td').eq(3).text(),
size: $(element).find('font.detDesc').text().replace(/(Size|Uploaded)/gi, '').replace(/ULed/gi, 'Uploaded').split(',').map(value => value.trim().replace('i', ''))[1]
}
if (torrent.title.length) {
torrents.push(torrent);
}
});
return {domain: url, query: query, torrents};
}
module.exports.search = piratebay;