Skip to content

Parser for novelusb.com #980

@ImLJS

Description

@ImLJS

Hello, @dteviot

I have created a parser for novelusb.com site

"use strict";

parserFactory.register("novelusb.com", () => new NovelusbParser());
parserFactory.register("novelusb.net", () => new NovelusbParser());

class NovelusbParser extends Parser{
    constructor() {
        super();
    }


    async getChapterUrls(dom) {
        let menu = dom.querySelector("#list-chapter");
        return util.hyperlinksToChapterList(menu);
    }

    findContent(dom) {
        return dom.querySelector("#chr-content");
    }

    extractTitleImpl(dom) {
        return dom.querySelector("h3.title");
    }

    extractAuthor(dom) {
        let items = [...dom.querySelectorAll("ul.info-meta li")]
            .filter(u => u.querySelector("h3")?.textContent === "Author:")
            .map(u => u.querySelector("a")?.textContent)
        return 0 < items.length 
            ? items[0]
            : super.extractAuthor(dom);
    }

    findChapterTitle(dom) {
        return dom.querySelector("h2");
    }

    findCoverImageUrl(dom) {
        return util.getFirstImgSrc(dom, "div.book");
    }

    getInformationEpubItemChildNodes(dom) {
        return [...dom.querySelectorAll(".desc-text")];
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions