Add all_novels route
This commit is contained in:
@@ -0,0 +1,37 @@
|
|||||||
|
const express = require("express");
|
||||||
|
const cheerio = require("cheerio");
|
||||||
|
const request = require("request");
|
||||||
|
|
||||||
|
const router = express.Router();
|
||||||
|
|
||||||
|
const baseUrl = "https://boxnovel.com/novel/";
|
||||||
|
|
||||||
|
router.get("/novels/:pageNo/", (req, res) => {
|
||||||
|
orderBy = req.query.o;
|
||||||
|
pageNo = req.params.pageNo;
|
||||||
|
let novels = [];
|
||||||
|
|
||||||
|
url = `${baseUrl}/page/${pageNo}/?m_orderby=${orderBy}`;
|
||||||
|
|
||||||
|
request(url, (err, response, body) => {
|
||||||
|
if (err) throw err;
|
||||||
|
|
||||||
|
$ = cheerio.load(body);
|
||||||
|
|
||||||
|
$(".page-item-detail").each(function (result) {
|
||||||
|
novelName = $(this).find("h5 > a").text();
|
||||||
|
novelCover = $(this).find("img").attr("src");
|
||||||
|
novelUrl = $(this).find("h5 > a").attr("href").replace(baseUrl, "");
|
||||||
|
novel = {
|
||||||
|
novelName: novelName,
|
||||||
|
novelCover: novelCover,
|
||||||
|
novelUrl: novelUrl,
|
||||||
|
};
|
||||||
|
|
||||||
|
novels.push(novel);
|
||||||
|
});
|
||||||
|
res.json(novels);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = router;
|
||||||
+6
-10
@@ -20,15 +20,7 @@ router.get("/novel/:novelUrl", (req, res) => {
|
|||||||
.replace(/[\t\n]/g, "")
|
.replace(/[\t\n]/g, "")
|
||||||
.trim();
|
.trim();
|
||||||
|
|
||||||
// authorName = $(".author-content")
|
novelCover = $(".summary_image > a > img").attr("src");
|
||||||
// .text()
|
|
||||||
// .replace(/[\t\n]/g, "")
|
|
||||||
// .trim();
|
|
||||||
|
|
||||||
// artistName = $(".artist-content")
|
|
||||||
// .text()
|
|
||||||
// .replace(/[\t\n]/g, "")
|
|
||||||
// .trim();
|
|
||||||
|
|
||||||
let novelDetails = {};
|
let novelDetails = {};
|
||||||
|
|
||||||
@@ -47,6 +39,8 @@ router.get("/novel/:novelUrl", (req, res) => {
|
|||||||
novelDetails[detailName] = detail;
|
novelDetails[detailName] = detail;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
novelSummary = $(".c_000").text();
|
||||||
|
|
||||||
let novelChapters = [];
|
let novelChapters = [];
|
||||||
|
|
||||||
$(".wp-manga-chapter").each(function (result) {
|
$(".wp-manga-chapter").each(function (result) {
|
||||||
@@ -62,13 +56,15 @@ router.get("/novel/:novelUrl", (req, res) => {
|
|||||||
.replace(/[\t\n]/g, "")
|
.replace(/[\t\n]/g, "")
|
||||||
.trim();
|
.trim();
|
||||||
|
|
||||||
chapterUrl = $(this).find("a").attr("href");
|
chapterUrl = $(this).find("a").attr("href").replace(baseUrl, "");
|
||||||
|
|
||||||
novelChapters.push({ chapterName, releaseDate, chapterUrl });
|
novelChapters.push({ chapterName, releaseDate, chapterUrl });
|
||||||
});
|
});
|
||||||
|
|
||||||
novel = {
|
novel = {
|
||||||
novelName,
|
novelName,
|
||||||
|
novelCover,
|
||||||
|
novelSummary,
|
||||||
novelDetails,
|
novelDetails,
|
||||||
novelChapters,
|
novelChapters,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ app.use("/api/", require("./api/latest"));
|
|||||||
app.use("/api/", require("./api/novel"));
|
app.use("/api/", require("./api/novel"));
|
||||||
app.use("/api/", require("./api/search"));
|
app.use("/api/", require("./api/search"));
|
||||||
app.use("/api/", require("./api/chapter"));
|
app.use("/api/", require("./api/chapter"));
|
||||||
|
app.use("/api/", require("./api/all_novels"));
|
||||||
|
|
||||||
const PORT = process.env.PORT || 5000;
|
const PORT = process.env.PORT || 5000;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user