Files
RSSHub/lib/v2/njust/utils.js
Tony ae2464de6e perf(route): block unnecessary requests in all puppeteer routes (#10010)
* fix: block unnecessary request in all puppeteer routes

* fix(route): prestige-av migrate to v2

* fix(route): ncwu migrate to v2

* fix(route): nju/rczp without puppeteer
2022-06-22 22:54:29 +08:00

36 lines
1.2 KiB
JavaScript

async function getContent(url, pptr = false) {
if (pptr) {
const browser = await require('@/utils/puppeteer')({ stealth: true });
try {
const page = await browser.newPage();
// 更改 window.navigator.webdriver 值以避开反爬
// await page.evaluateOnNewDocument(() => {
// // eslint-disable-next-line no-undef
// Object.defineProperty(navigator, 'webdriver', {
// get: () => undefined,
// });
// });
await page.setRequestInterception(true);
page.on('request', (request) => {
request.resourceType() === 'document' || request.resourceType() === 'script' ? request.continue() : request.abort();
});
await page.goto(url, {
waitUntil: 'networkidle0',
});
const content = await page.content();
return content;
} finally {
browser.close();
}
} else {
const got = require('@/utils/got');
const response = await got(url);
const data = response.data;
return data;
}
}
module.exports = {
getContent,
};