UNPKG

@rexxhayanasi/nhentai

Version:

A scraper for NHentai with types

41 lines (40 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseDoujinList = void 0; const List_1 = require("../lib/Classes/List"); const lib_1 = require("../lib"); const parseDoujinList = ($, site) => { const data = []; const baseURL = lib_1.baseURLS[site]; const currentPage = Number($('.pagination').find('.page.current').text()); const totalPages = Number(($('.pagination').find('a.last').attr('href') || '').split('page=')[1]); const pagination = currentPage === 0 ? null : { currentPage, hasNextPage: totalPages > currentPage, totalPages }; $('.gallery').each((i, el) => { const contentElements = $(el).find('a'); const slug = contentElements.attr('href'); const id = slug ? slug.split('g/')[1].replace('/', '') : ''; const url = `${baseURL}/g/${id}`; const coverSlug = contentElements.find('a > img').attr('data-src') || contentElements.find('a > img').attr('src'); const cover = coverSlug ? `${coverSlug.startsWith('/galleries/') ? 'https://t3.nhentai.net' : ''}${coverSlug}` .replace('/g/', '/galleries/') .replace(lib_1.imageSites[site], 't3.nhentai.net') : null; const title = $(el).find('.caption').text().trim(); data.push(new List_1.List(title, id, cover, url)); }); return { pagination, data }; }; exports.parseDoujinList = parseDoujinList;