MTLNovel: Fix search

This commit is contained in:
Rajarshee Chatterjee
2021-06-04 20:09:11 +05:30
parent f2319d8f33
commit d4fe91a3e2
2 changed files with 34 additions and 28 deletions
+34 -27
View File
@@ -1,10 +1,11 @@
const cheerio = require("cheerio"); const cheerio = require("cheerio");
const FormData = require("form-data");
const fetch = require("node-fetch"); const fetch = require("node-fetch");
const UserAgent = require("user-agents"); const UserAgent = require("user-agents");
const { scraper, parseHtml } = require("../../helper"); const { scraper, parseHtml } = require("../../helper");
const baseUrl = "https://mtlnovel.com"; const baseUrl = "https://www.mtlnovel.com";
const novelsScraper = async (req, res) => { const novelsScraper = async (req, res) => {
const url = `${baseUrl}/alltime-rank/`; const url = `${baseUrl}/alltime-rank/`;
@@ -161,38 +162,44 @@ const chapterScraper = async (req, res) => {
const searchScraper = async (req, res) => { const searchScraper = async (req, res) => {
const searchTerm = req.query.s; const searchTerm = req.query.s;
const userAgent = new UserAgent(); const searchUrl =
"https://www.mtlnovel.com/wp-admin/admin-ajax.php?action=autosuggest&q=" +
searchTerm +
"&__amp_source_origin=https%3A%2F%2Fwww.mtlnovel.com";
let headers = new fetch.Headers({ const result = await fetch(searchUrl);
Accept: "application/json", const body = await result.json();
"Content-Type": "application/json",
"user-agent": userAgent,
});
const result = await fetch(baseUrl, {
method: "POST",
body: { s: searchTerm },
headers: headers,
});
const body = await result.text();
$ = cheerio.load(body);
let novels = []; let novels = [];
$("div.box").each(function (result) { // $("div.box").each(function (result) {
const novelName = $(this).find("a.list-title").text(); // const novelName = $(this).find("a.list-title").text();
const novelCover = $(this).find("amp-img").attr("src"); // if (novelName && novelName !== "{{permalink}}") {
// const novelCover = $(this).find("amp-img").attr("src");
let novelUrl = $(this).find("a").attr("href"); // let novelUrl = $(this).find("a").attr("href");
novelUrl = novelUrl.replace("https://www.mtlnovel.com/", ""); // novelUrl = novelUrl.replace("https://www.mtlnovel.com/", "");
const novel = { // const novel = {
extensionId: 5, // extensionId: 5,
novelUrl, // novelUrl,
novelName, // novelName,
novelCover, // novelCover,
}; // };
// novels.push(novel);
// }
// });
body.items[0].results.map((item) => {
const novelName = item.title.replace(/<\/?strong>/g, "");
const novelCover = item.thumbnail;
const novelUrl = item.permalink.replace(
"https://www.mtlnovel.com/",
""
);
const novel = { extensionId: 5, novelName, novelCover, novelUrl };
novels.push(novel); novels.push(novel);
}); });
-1
View File
@@ -180,7 +180,6 @@ const searchScraper = async (req, res) => {
const searchTerm = req.query.s; const searchTerm = req.query.s;
const url = `${baseUrl}?s=${searchTerm}&post_type=wp-manga&op=&author=&artist=&release=&adult=`; const url = `${baseUrl}?s=${searchTerm}&post_type=wp-manga&op=&author=&artist=&release=&adult=`;
console.log(url);
const result = await fetch(url); const result = await fetch(url);
const body = await result.text(); const body = await result.text();