@davidpunya/web-scraper
Version:
The library web scraper for Restfull API's
110 lines (108 loc) • 4.26 kB
JavaScript
const axios = require("axios");
const FormData = require("form-data");
const cheerio = require("cheerio");
const fs = require("fs");
const util = require("util");
const Function = require("../dist/functions");
const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));
const Func = new Function();
module.exports = class AI {
simsimi = async(text, lang = 'id') => {
try {
let res = await (await axios.post('https://simsimi.vn/web/simtalk', `text=${encodeURI(text)}&lc=${lang}`, {
headers: {
'Accept': '*/*',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Referer': 'https://simsimi.net/',
'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0.1; SM-J500G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36'
}
})).data
if (res.success.match(new RegExp('Aku tidak mengerti', 'g'))) return {
status: 404,
creator: "David XD"
}
return {
status: 200,
cretor: "David XD",
result: res.success
}
} catch (e) {
console.log(e)
return {
status: 500,
creator: "David XD",
message: util.format(e)
}
}
};
upscale = async(buffer, scale = 2) => {
if (!Buffer.isBuffer(buffer)) return {
status: 404,
creator: "David XD",
msg: "Media Is Not A Buffer!!!"
};
if (scale > 4) return {
status: 404,
creator: "David XD",
msg: "Scale " + scale + " Is Not Avaible!!!, Maksimum Scale Is 4!!!"
};
const result = {
status: 200,
creator: "David XD",
result: {}
};
try {
const form = new FormData();
form.append("myfile", buffer);
form.append("scaleRadio", scale);
form.append("isLogin", 0);
const upload = (await axios({
url: "https://get1.imglarger.com/api/Upscaler/Upload",
method: "POST",
headers: {
Accept: "application/json, text/plain, */*",
"Content-Type": "multipart/form-data; boundary=" + + form._boundary,
Origin: "https://imgupscaler.com",
Referer: "https://imgupscaler.com/",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
},
data: form
})).data.data.code;
const res = (await axios({
url: "https://get1.imglarger.com/api/Upscaler/CheckStatus",
method: "POST",
headers: {
Accept: "application/json, text/plain, */*",
"Content-Type": "application/json",
Origin: "https://imgupscaler.com",
Referer: "https://imgupscaler.com/",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
},
data: {
"code": upload,
"scaleRadio": 4,
"isLogin": 0
}
})).data.data;
if (res.status === "waiting") {
return {
status: 204,
creator: "David XD",
msg: "Waiting..."
};
} else {
result.result = {
data: res.downloadUrls[0],
size: Func.bytesToSize(res.filesize)
};
};
} catch (e) {
console.log(e)
return {
status: 500,
creator: "David XD",
message: util.format(e)
};
};
};
};