如何使用带有异步等待的Express和puppeteer设置显示未刮数据的REST API

时间:2019-03-28 02:01:41

标签: express async-await puppeteer

我有以下代码。抓取数据的操纵up部分起作用。但是快速部分不起作用。没有错误返回,因此很难调试。

const express = require('express');
const server = express();
const cors = require('cors');
const morgan = require('morgan');
const puppeteer = require('puppeteer');

const url2 = 'https://www.webscraper.io/test-sites';

(async () => {
const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto(url2);  

    let top = await page.evaluate(() => {
        return document.querySelector('body > div.wrapper > div.container.test-sites > p').innerText;
    });

    console.log(top);
    console.log('end ...');
    await browser.close();
    server.get('/testsite', (req, res) => {
        if(err) {
            console.log('failure: ', err);
            res.sendStatus(500);
            res.end();
            return;
        }
        else {
            res.json(top);
        }

    server.listen(3011, () => {console.log('listening on port 3011')})
    });
})();

奇怪的是,从未console.log('listening on port 3011')打印到控制台。有人遇到过这个问题吗?

0 个答案:

没有答案