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

就实现了实时监控

相关推荐
哈哈O哈哈哈几秒前
ECMAScript 2025 正式发布:10 个让你眼前一亮的 JavaScript 新特性!
前端·javascript
哈哈O哈哈哈3 分钟前
2025 年值得关注的 CSS 新属性与功能
前端·css
我叫张小白。8 分钟前
TypeScript泛型进阶:掌握类型系统的强大工具
前端·javascript·typescript
麦麦在写代码9 分钟前
前端学习4
前端·学习
你听得到1112 分钟前
Web前端们!我用三年亲身经历,说说从 uniapp 到 Flutter怎么转型的,这条路我爬过,坑我踩过
前端·flutter·uni-app
20岁30年经验的码农14 分钟前
Java Sentinel流量控制与熔断降级框架详解
java·开发语言·sentinel
葡萄城技术团队18 分钟前
在数据录入、指标补录、表单填报场景中,SpreadJS 具备哪些优势和价值
前端
Glommer28 分钟前
简单聊一下 tls 指纹校验
爬虫·浏览器
孟陬32 分钟前
AI 每日心得——AI 是效率杠杆,而非培养对象
前端
3秒一个大34 分钟前
JavaScript 中的 Symbol:特性与实战应用
javascript