nodejs爬文章(一)

news/2024/7/19 9:44:37 标签: 爬虫

 前言

前端自学弄着玩的,没啥用,爬取文章,

准备工作

准备一台电脑,node环境安装,vscode编辑器(我个人喜欢vscode)然后应该ok了

开始咱们的偷东西吧(哈哈哈)

1.随便找个你放文件的的文件夹新建一个文件夹

2.在文件的上面文件输入cmd

3.在命令窗口,输入 npm init ,一直回车即可

就会出现如下图(可能没有我这个样子,只是为了装依赖)

4.安装request和cheerio模块即可

npm i request  cheerio 

5.安装完毕,新建一个app.js文件,在里面输入以下代码:

const request = require('request');
const cheerio = require('cheerio');
const fs = require('fs')

const url = 'https://news.baidu.com/';

request(url, function (error, response, body) {
  // 如果请求成功且状态码为 200
  if (!error && response.statusCode == 200) {
    // 使用 cheerio 加载 HTML 文档
    const $ = cheerio.load(body);

    // 存储获取到的数据
    const totalData = []
    
    // 获取hotnews下全部的li元素
    $('.ulist').find('li').each(function (index, value){
        // 向数组中存放数据
        totalData.push({
            title: $(value).find('a').text(),
            href: $(value).find('a').attr('href')
        })
    })
    writeFs(totalData)
    // 打印结果
    console.log(totalData)
  }
});

function writeFs(totalData){
    fs.writeFile('./ulist.json', JSON.stringify(totalData), function (err, data) {
        if (err) {
            throw err
        }
        console.log('数据保存成功');
    })
}

6.运行结果(会生成一个json文件,格式随便你处理,也可以使用第三方插件,将数据处理成流的形式,导出文档例如word,excel等)

7.完毕啦

结束语

这就是简单的爬取文章,哈哈哈,有什么不对的地方欢迎大家指教,好像这个request模块已经不更新了,这算上古时期的request模块了,好像有个新的模块!


http://www.niftyadmin.cn/n/5466044.html

相关文章

使用纯注解的方式管理bean对象

前置知识: Component , Repository , Controller , Service 这些注解只局限于自己编写的类,而Bean注解能把第三方库中的类实例加入IOC容器中并交给spring管理。 其中: Component一般用于公共类 Repository 用于dao数据访问层 Service 用…

android小球(三)——用户数据缓存为何使用SharedPreferences(Android的几种数据存储形式)

要想知道为什么选用SharedPreferences,那么就需要知道Android的几种数据存储形式? SharedPreferences:用于保存小型的键值对数据,比如用户设置、偏好和配置信息等。可以简单地通过putString()、putInt()等方法来保存数据&#xf…

httprunner 之 win11 安装和下载

httprunner 框架是基于 python ,是一款面向 HTTP(S) 协议的通用测试框架,它允许用户通过编写和维护一份 YAML/JSON 脚本,实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。HttpRunner 的设计理念在于充分复用优秀的开源项目&…

2024牛客春招冲刺题单 ONT97 牛牛的递增之旅 【中等 链表 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/e463addab7d548819d6b6483335651b5 思路 核心:链表中删除节点。链表中增删改查节点,最好新建一个虚拟头结点start,end, 然后end链接上符合条件的已经存在的节点,最…

【xinference】(8):在autodl上,使用xinference部署qwen1.5大模型,速度特别快,同时还支持函数调用,测试成功!

1,关于xinference Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。 Xor…

学会用IarIdePm软件(IAR)创建新工程(适用于CC2530单片机)

学会用IarIdePm软件(IAR)创建新工程 第一步创建一个新的文件夹 (自由命名,但是文件夹名字中尽量不要出现汉字) 第二步:打开IAR软件,创建空白 第三步,创建新项目 2. 3. 4. 5. 第四步:右键点击Untitled1,选择save Untitled 接着命名,选择第一步创建的文件夹,然后点击打开! …

2024.2.28力扣每日一题——使二叉树所有路径值相等的最小代价

2024.2.28 题目来源我的题解方法一 自底向上贪心 题目来源 力扣每日一题;题序:2673 我的题解 方法一 自底向上贪心 对于任一叶结点,它的值为 x,它的兄弟节点的值为 y。可以发现,对于树上的其余节点,它们…

Red Hat配置本地yum源

Red Hat配置本地yum源 创建本地源文件夹 mkdir -p /mnt/cdrom挂载镜像文件至指定的目录 mount /dev/cdrom /mnt/cdrom备份本地源 cp -rf /etc/yum.repos.d /etc/yum.repos.d_$(date %Y%m%d_%H%M%S)删除默认原本地源 rm -rf /etc/yum.repos.d/*配置本地源,创建…