【发布时间】:2019-09-13 01:27:45
【问题描述】:
是从休息端点调用 puppeteer 的适当方式吗?
Route.js
const express = require('express');
const PuppeteerController = require('../controllers/puppetter');
const router = express.Router();
router.post('/getPath', PuppeteerController.getPage);
Controller.js
async getPage(req, res) {
try {
let resp = await pageScanner.getPageContent(url);
return res.status(200).send(resp);
}
catch(e) {
return res.status(400).send({
error: 'not-found'
});
}
}
扫描仪.js
async getPageContent(url) {
try {
const browser = await puppeteer.launch({
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--disable-accelerated-2d-canvas',
'--disable-gpu'
]
});
const page = await browser.newPage();
await page.setViewport({ width: 800, height: 600 });
await page.goto(url);
await page.waitFor(1000);
const pageContent = await page.content();
await page.close();
await browser.close();
return pageContent;
} catch(e) {
return 'No good'
}
}
这是最好的方法吗?如果我对该端点有多次点击,我会担心性能。
【问题讨论】: