You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中使用Cheerio从URL爬取数据?现有代码求助

Node.js 中使用 Cheerio 爬取指定URL数据的实现方案

Cheerio 是轻量级的服务端DOM解析库,语法和jQuery完全一致,本身不支持页面请求和JS渲染,需要先获取到目标页面的HTML文本后再进行解析提取。

前置依赖安装

首先安装所需的第三方包:
npm install axios cheerio
如果你的目标页面是动态渲染(需要执行JS才能生成完整DOM),可以保留你原有逻辑中的Puppeteer依赖,只新增Cheerio即可。

场景1:爬取静态服务端渲染页面

不需要启动浏览器,直接请求页面HTML后解析即可:

const axios = require('axios');
const cheerio = require('cheerio');

const scraperObject = {
    url: 'https://www.example.com',
    async scraper() {
        console.log(`正在请求 ${this.url}...`);
        // 发起请求获取页面HTML
        const { data: html } = await axios.get(this.url, {
            headers: {
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
            }
        });
        // 加载HTML到Cheerio实例
        const $ = cheerio.load(html);
        const urls = [];
        // 遍历匹配元素提取链接,和你原有定位逻辑完全一致
        $('.JIIxO > ._1OUGS').each((_, el) => {
            urls.push($(el).find('._1OUGS > ._9tla3').attr('href'));
        });
        console.log(urls);
    }
}

场景2:爬取动态客户端渲染页面

保留你原有Puppeteer启动浏览器的逻辑,获取渲染后的页面内容后交给Cheerio解析:

const cheerio = require('cheerio');

const scraperObject = {
    url: 'https://www.example.com',
    async scraper(browser){
        let page = await browser.newPage();
        console.log(`正在导航到 ${this.url}...`);
        await page.goto(this.url);
        await page.waitForSelector('.product-container');
        // 获取浏览器渲染后的完整HTML
        const pageHtml = await page.content();
        const $ = cheerio.load(pageHtml);
        const urls = [];
        $('.JIIxO > ._1OUGS').each((_, el) => {
            urls.push($(el).find('._1OUGS > ._9tla3').attr('href'));
        });
        console.log(urls);
    }
}

注意事项

  • 如果提取到的链接是相对路径,可以用 new URL(相对路径, this.url).href 转换为完整的绝对路径
  • 请求时可按需补充Cookie、Referer等请求头,降低被站点反爬策略拦截的概率
  • Cheerio选择器语法和jQuery100%兼容,你原有DOM定位逻辑可以直接复用不需要调整

内容的提问来源于stack exchange,提问作者Joao David de Souza Alves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:45:05