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

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

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

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

npm install puppeteer
//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:

:loop
node index.js
timeout /t 1 >nul
goto loop

运行:

run_script.bat

就实现了实时监控

相关推荐

  1. 基于 Node.js爬虫Puppeteer

    2024-04-11 19:30:05       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-11 19:30:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-11 19:30:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-11 19:30:05       82 阅读
  4. Python语言-面向对象

    2024-04-11 19:30:05       91 阅读

热门阅读

  1. 区块链技术在电子元器件商城中的应用探索

    2024-04-11 19:30:05       44 阅读
  2. elasticsearch基础命令

    2024-04-11 19:30:05       39 阅读
  3. Spring Boot中@Value注入静态变量

    2024-04-11 19:30:05       34 阅读