首页 > 编程知识 正文

nodejs之简单的爬数据

时间:2023-05-03 10:04:19 阅读:269457 作者:58

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));}); ```

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。