fix WuxiaWorld

This commit is contained in:
Rajarshee Chatterjee
2021-05-01 12:27:22 +05:30
parent d054a027bf
commit ce4dc8235a
3 changed files with 162 additions and 6 deletions
+145
View File
@@ -396,6 +396,14 @@
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
}, },
"chrome-aws-lambda": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/chrome-aws-lambda/-/chrome-aws-lambda-8.0.2.tgz",
"integrity": "sha512-a4VEX6DknxISPqGLksZa/JuEnjc4nLXaG0BMp5c9qERvJ/eBHPUJ7oCRQQC+SxSxuxsEwxbBj2RBlCQbivnihg==",
"requires": {
"lambdafs": "^2.0.3"
}
},
"ci-info": { "ci-info": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
@@ -1195,6 +1203,143 @@
"json-buffer": "3.0.0" "json-buffer": "3.0.0"
} }
}, },
"lambdafs": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/lambdafs/-/lambdafs-2.0.3.tgz",
"integrity": "sha512-5YWwZA/QKk09GdfcJ/ABVO+bpFoGlnTBa5jmyM8Kt9yIzl2lDDVBPLK+Aenq2UEcuDpqxXIYI5zLB7VZNepTrg==",
"requires": {
"tar-fs": "^2.1.1"
},
"dependencies": {
"base64-js": {
"version": "1.5.1",
"bundled": true
},
"bl": {
"version": "4.1.0",
"bundled": true,
"requires": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
},
"dependencies": {
"readable-stream": {
"version": "3.6.0",
"bundled": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
}
}
},
"buffer": {
"version": "5.7.1",
"bundled": true,
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"chownr": {
"version": "1.1.4",
"bundled": true
},
"end-of-stream": {
"version": "1.4.4",
"bundled": true,
"requires": {
"once": "^1.4.0"
}
},
"fs-constants": {
"version": "1.0.0",
"bundled": true
},
"ieee754": {
"version": "1.2.1",
"bundled": true
},
"inherits": {
"version": "2.0.4",
"bundled": true
},
"mkdirp-classic": {
"version": "0.5.3",
"bundled": true
},
"once": {
"version": "1.4.0",
"bundled": true,
"requires": {
"wrappy": "1"
}
},
"pump": {
"version": "3.0.0",
"bundled": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"string_decoder": {
"version": "1.1.1",
"bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
},
"dependencies": {
"safe-buffer": {
"version": "5.1.2",
"bundled": true
}
}
},
"tar-fs": {
"version": "2.1.1",
"bundled": true,
"requires": {
"chownr": "^1.1.1",
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
"tar-stream": "^2.1.4"
}
},
"tar-stream": {
"version": "2.2.0",
"bundled": true,
"requires": {
"bl": "^4.0.3",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
},
"dependencies": {
"readable-stream": {
"version": "3.6.0",
"bundled": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
}
}
},
"util-deprecate": {
"version": "1.0.2",
"bundled": true
},
"wrappy": {
"version": "1.0.2",
"bundled": true
}
}
},
"latest-version": { "latest-version": {
"version": "5.1.0", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
+1
View File
@@ -11,6 +11,7 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cheerio": "^1.0.0-rc.5", "cheerio": "^1.0.0-rc.5",
"chrome-aws-lambda": "^8.0.2",
"express": "^4.17.1", "express": "^4.17.1",
"puppeteer": "^9.0.0", "puppeteer": "^9.0.0",
"request": "^2.88.2" "request": "^2.88.2"
+16 -6
View File
@@ -1,6 +1,7 @@
const express = require("express"); const express = require("express");
const cheerio = require("cheerio"); const cheerio = require("cheerio");
const request = require("request"); const request = require("request");
const chromium = require("chrome-aws-lambda");
const puppeteer = require("puppeteer"); const puppeteer = require("puppeteer");
const baseUrl = "https://www.wuxiaworld.com/"; const baseUrl = "https://www.wuxiaworld.com/";
@@ -9,9 +10,12 @@ const router = express.Router();
router.get("/novels/", async (req, res) => { router.get("/novels/", async (req, res) => {
let url = `https://www.wuxiaworld.com/novels`; let url = `https://www.wuxiaworld.com/novels`;
const browser = await puppeteer.launch({ const browser = await puppeteer.launch({
args: ["--no-sandbox", "--disable-setuid-sandbox"], args: [...chromium.args, "--hide-scrollbars", "--disable-web-security"],
defaultViewport: chromium.defaultViewport,
executablePath: await chromium.executablePath,
headless: true,
ignoreHTTPSErrors: true,
}); });
const page = await browser.newPage(); const page = await browser.newPage();
@@ -47,9 +51,12 @@ router.get("/novels/", async (req, res) => {
router.get("/novel/:novelUrl", async (req, res) => { router.get("/novel/:novelUrl", async (req, res) => {
let novelUrl = req.params.novelUrl; let novelUrl = req.params.novelUrl;
let url = `${baseUrl}novel/${novelUrl}/`; let url = `${baseUrl}novel/${novelUrl}/`;
const browser = await puppeteer.launch({ const browser = await puppeteer.launch({
args: ["--no-sandbox", "--disable-setuid-sandbox"], args: [...chromium.args, "--hide-scrollbars", "--disable-web-security"],
defaultViewport: chromium.defaultViewport,
executablePath: await chromium.executablePath,
headless: true,
ignoreHTTPSErrors: true,
}); });
const page = await browser.newPage(); const page = await browser.newPage();
@@ -123,9 +130,12 @@ router.get("/novel/:novelUrl/:chapterUrl", async (req, res) => {
const novelUrl = `${req.params.novelUrl}/`; const novelUrl = `${req.params.novelUrl}/`;
const chapterUrl = `${req.params.chapterUrl}/`; const chapterUrl = `${req.params.chapterUrl}/`;
const browser = await puppeteer.launch({ const browser = await puppeteer.launch({
args: ["--no-sandbox", "--disable-setuid-sandbox"], args: [...chromium.args, "--hide-scrollbars", "--disable-web-security"],
defaultViewport: chromium.defaultViewport,
executablePath: await chromium.executablePath,
headless: true,
ignoreHTTPSErrors: true,
}); });
const page = await browser.newPage(); const page = await browser.newPage();