js爬虫puppeteer库 解决网页动态渲染无法爬取

我们爬取这个网址上面的股票实时部分宇通客车(600066)_股票价格_行情_走势图---东方财富网

我们用正常的方法爬取会发现爬取不下来,是因为这个网页这里是实时渲染的,我们直接通过网址接口访问这里还没有渲染出来

于是我们可以通过下面的代码来进行爬取:

bash 复制代码
npm install puppeteer
javascript 复制代码
//index.js
const puppeteer = require('puppeteer');

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

    try {
        await page.goto('http://quote.eastmoney.com/sh600066.html', { timeout: 60000 }); // 设置页面加载超时时间为 60 秒
    } catch (error) {
        console.error('Navigation timeout error:', error);
    }

    // 等待页面加载完成
    //sider_brief是我们查找的盒子类名
    await page.waitForSelector('.sider_brief');

    const stockName = await page.$eval('.sider_brief', element => element.textContent.trim());

    console.log('股票名称:', stockName);

    await browser.close();
})();

爬取成功


优化

既然是股票的东西,那么我们当然要实时监控啊,所以我们加入一个定时脚本,一直运行我们的js

run_script.bat:

bash 复制代码
:loop
node index.js
timeout /t 1 >nul
goto loop

运行:

bash 复制代码
run_script.bat

就实现了实时监控

相关推荐
晴天161 小时前
前端 postMessage 使用场景
前端·javascript·网络
zhanghaha13142 小时前
HTML系列教程:15_标签 全称 + 简写 超详细讲解(新手专用)
前端·html
zhanghaha13142 小时前
HTML系列教程:14_HTML 表单与输入框 <form>、<input> 零基础详解
java·前端·javascript
IMPYLH2 小时前
HTML 的 <samp> 元素
前端·网络·html
IMPYLH2 小时前
HTML 的 <script> 元素
前端·html
weixin_493503677 小时前
Vue3 前端生成 PDF:会员证书与活动签到表的三种打印方案与踩坑记录
前端·pdf·状态模式
傻啦嘿哟7 小时前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_933670797 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
李少兄8 小时前
JavaScript 数据类型完全指南
开发语言·javascript·ecmascript
隐擎fox8 小时前
深入理解网络传输层安全:TLS 指纹识别(JA3/JA4)原理与 Python 协议层检测实战
爬虫·python·网络协议·安全·网络安全·https