add optimizations
This commit is contained in:
parent
3cd74145e0
commit
f1c771282d
@ -5,6 +5,8 @@
|
|||||||
"dotenv": "^16.0.3",
|
"dotenv": "^16.0.3",
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
"puppeteer": "^19.7.2",
|
"puppeteer": "^19.7.2",
|
||||||
|
"puppeteer-extra": "^3.3.6",
|
||||||
|
"puppeteer-extra-plugin-adblocker": "^2.13.6",
|
||||||
"winston": "^3.8.2"
|
"winston": "^3.8.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -1,8 +1,14 @@
|
|||||||
import { Router } from 'express'
|
import { Router } from 'express'
|
||||||
import puppeteer, { Browser, Page } from 'puppeteer'
|
import puppeteer from 'puppeteer-extra'
|
||||||
|
import { Browser, Page } from 'puppeteer'
|
||||||
|
import { PuppeteerExtraPluginAdblocker } from 'puppeteer-extra-plugin-adblocker'
|
||||||
import { LooseObject } from '../../types/looseTypes'
|
import { LooseObject } from '../../types/looseTypes'
|
||||||
import { Streamlink } from '@dragongoose/streamlink'
|
import { Streamlink } from '@dragongoose/streamlink'
|
||||||
|
|
||||||
|
puppeteer.use(new PuppeteerExtraPluginAdblocker({
|
||||||
|
blockTrackersAndAnnoyances: true
|
||||||
|
}))
|
||||||
|
|
||||||
const profileRouter = Router()
|
const profileRouter = Router()
|
||||||
|
|
||||||
export interface Socials {
|
export interface Socials {
|
||||||
@ -30,6 +36,7 @@ export interface StreamerData {
|
|||||||
stream?: StreamData
|
stream?: StreamData
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const abbreviatedNumberToNumber = (num: string) => {
|
const abbreviatedNumberToNumber = (num: string) => {
|
||||||
const base = parseFloat(num)
|
const base = parseFloat(num)
|
||||||
|
|
||||||
@ -65,20 +72,11 @@ const withBrowser = async (fn: Function) => {
|
|||||||
|
|
||||||
const withPage = (browser: Browser) => async (fn: Function) => {
|
const withPage = (browser: Browser) => async (fn: Function) => {
|
||||||
const page = await browser.newPage();
|
const page = await browser.newPage();
|
||||||
//turns request interceptor on
|
//await page.tracing.start({ path: '../profile.json', screenshots: true });
|
||||||
await page.setRequestInterception(true);
|
|
||||||
|
|
||||||
//if the page makes a request to a resource type of image or stylesheet then abort that request
|
|
||||||
page.on('request', request => {
|
|
||||||
if (request.resourceType() === 'image')
|
|
||||||
request.abort();
|
|
||||||
else
|
|
||||||
request.continue();
|
|
||||||
});
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return await fn(page);
|
return await fn(page);
|
||||||
} finally {
|
} finally {
|
||||||
|
//await page.tracing.stop();
|
||||||
await page.close();
|
await page.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user