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

就实现了实时监控

相关推荐
FE_C_P小麦3 分钟前
Git 常用指令
前端·后端·github
北城笑笑3 分钟前
Server 13 ,CentOS 上使用 Nginx 部署多个前端项目完整指南( 支持多端口与脚本自动化 )
linux·服务器·前端·nginx·centos
卓伊凡4 分钟前
完整的苹果内购in-purchase实例-采用object-c语言使用苹果的Storyboard开发模式的完整购买实例
前端
用泥种荷花4 分钟前
【web音频学习(一)】音频基础
前端
Mintopia5 分钟前
Next.js自建部署:Docker + PM2 + Nginx
前端·javascript·全栈
艾小码7 分钟前
还在重复造轮子?3个Vue3组合函数让你开发效率翻倍!
前端·javascript·vue.js
一枚前端小能手8 分钟前
🎨 CSS-in-JS到底香不香?性能陷阱让我重新思考了
前端·javascript·css
章丸丸10 分钟前
Tube - Infinite Loading
前端·next.js
NeverSettle_11 分钟前
2025年React 18 + React 19源码深度解析
javascript·react.js
我是日安11 分钟前
从零到一打造 Vue3 响应式系统 Day 3 - 订阅者模式:响应式设计基础
前端·vue.js