用puppeteer抓取并返回JSON

时间:2019-08-19 19:35:15

标签: javascript node.js puppeteer

我正在尝试创建一个需要用户输入URL的节点应用程序,然后将该URL传递给scrape.js并使用操纵up,抓取某些字段,然后将数据传递回{{1} }以json格式(这样我就可以将其打乱成文档)。但是我收到的是整个ServerResponse,而不是我想要的json格式的数据。

我希望有更多经验的人能有所启发。这是我到目前为止的内容:

app.js
// app.js

const scrape = require('./scrape');
const router = express.Router();

router.get( '/', ( req, res ) => {
    const url = req.body.url;

    const item = new Promise((resolve, reject) => {
        scrape
            .scrapeData()
            .then((data) => res.json(data))
            .catch(err => reject('Scraping failed...'))
   })
});

1 个答案:

答案 0 :(得分:0)

您有一个命名问题。 scrape.js正在导出scrapeData 功能。在该函数内部,您声明了一个scrapedData变量,这不是一回事。

放置位置:

console.dir(scrapeData) - logs the data successfully.

添加

return scrapeData;

那应该可以解决您的问题。