@lucasmod/modulo-torrent
Version:
MΓ³dulo para scraping de torrents, desenvolvido por @lucas_mod_domina.
48 lines (44 loc) β’ 1.68 kB
JavaScript
// By: π§ πππππ πππ ππππππ π§
// Canal: https://whatsapp.com/channel/0029Va6riekH5JLwLUFI7P2B
const request = require('request')
const cheerio = require('cheerio')
const baseUrl = 'https://limontorrents.com'
const headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' }
const parseMovie = require('./scrapers/parseMovie.js')
const getDestaques = require('./scrapers/getDestaques.js')
const getUltimosAdicionados = require('./scrapers/getUltimosAdicionados.js')
const getPagination = require('./scrapers/getPagination.js')
function scrape(extractFunction, callback, page) {
const urlToScrape = page ? `${baseUrl}/page/${page}` : baseUrl
request({ url: urlToScrape, headers }, (error, response, body) => {
if (error || response.statusCode !== 200) {
console.error('Erro durante o scraping:', error ? error.message : `Status code ${response.statusCode}`)
return callback({
criador: '@lucas_mod_domina',
status: false,
mensagem: error ? error.message : `Erro HTTP ${response.statusCode}`
})
}
try {
const $ = cheerio.load(body)
const resultData = extractFunction($)
callback({
criador: '@lucas_mod_domina',
status: true,
resultados: resultData
})
} catch (e) {
console.error('Erro ao processar conteΓΊdo:', e)
callback({
criador: '@lucas_mod_domina',
status: false,
mensagem: 'Erro ao analisar o conteΓΊdo'
})
}
})
}
module.exports = {
getDestaques: (callback) => scrape(getDestaques, callback),
getUltimosAdicionados: (callback) => scrape(getUltimosAdicionados, callback),
getPagination: (callback, page) => scrape(getPagination, callback, page)
}