nodejs之简单的爬数据

nodejs 之简单爬数据

  • 准备

    • cheerio 插件
      cheerio 是一个为服务器特别定制的,快速、灵活、实施的 jQuery 核心实现方案。
    • axios 插件
      axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中
  • 代码

    const fs = require("fs");
    const cheerio = require("cheerio");
    const axios = require("axios").default; // 发起一个网络请求获取数据
    const books = [];
    axios
    .get(
    "https://www.17k.com/top/refactor/top100/01_subscribe/01_subscribe__top_100_pc.html"
    ) //此链接为17k小说网的排行榜网址
    .then((res) => {
    const $ = cheerio.load(res.data);
    
        $(".BOX")
          .eq(0) // 获取指定索引位置的数据,返回一个jq实例
          .find("table tr") // find 查找符合元素选择条件的数据
          .each(function (index) {
            if (index > 0) {
              // 不取第一项
              let book = {};
              book.id = index;
              book.title = $(this).find("td").eq(2).find("a").text();
              book.link =
                "https:" + $(this).find("td").eq(2).find("a").attr("href");
              fs.mkdirSync("./books/" + book.title, {
                recursive: true,
              });
              books.push(book);
            }
          });
        fs.writeFileSync("./books.json", JSON.stringify(books));
    
    });
    
        ```
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值