首页 > 解决方案 > 如何使用 Puppeteer 获取每秒更新的数据

问题描述

我学习 Puppeteer 并试图了解如何获取和保存变化的数据,例如每秒。

这是我现在的代码:

const cheerio = require('cheerio');
const puppeteer = require("puppeteer")

const dataUrl = 'https://time.is/';

const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto(dataUrl);

const pageData = await page.evaluate(() => {
    return { html: document.documentElement.innerHTML }
}) 

const $ = cheerio.load(pageData.html)

console.log($('#clock').text())

所以,通过这个脚本的启动,它会在console.log 中显示当前时间。我如何每秒运行 await page.evaluate(()... 以从该站点查看终端中的时间记录器?我有一个想法把这个

const pageData = await page.evaluate(() => {
    return { html: document.documentElement.innerHTML }
}) 

进入 setTimeout 并每秒运行一次,但不知道该怎么做。我用谷歌搜索了很多,但没有找到如何每秒获取页面内容并将其返回给cheerio。

谢谢!

标签: node.jspuppeteer

解决方案


推荐阅读