node.js - 如何使用 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。
谢谢!
解决方案
推荐阅读
- pip - 我无法使用命令提示符和 pip install ChatterBot 安装模块 ChatterBot
- javascript - 如何终止 node.js 中的循环?
- regex - 使用正则表达式清理 url 路径
- php - 使用 echo 将变量插入到 img url
- interceptor - BigBlueButton 校验和绕过?
- python - 返回多个复选框输入的函数未在 Django 中呈现
- asp.net-core - 如何将控制器操作委托给 ASP.NET CORE API 中的另一个类?
- php - PHP Laravel file_put_contents 无法打开流:没有这样的文件或目录错误
- javascript - JS:如何在 event.target 中选择一个孩子?
- sql - 如何获得每个月的总和?