资讯专栏INFORMATION COLUMN

Node.js学习之路22——利用cheerio制作简单的网页爬虫

jsyzchen / 1468人阅读

摘要:利用制作简单的网页爬虫目标完成对网站的标题信息获取将获取到的信息输出在一个新文件工具,使用下载的使用方法和的使用方法基本一致如果熟练使用,那么将会很快上手代码部分介绍获取页面的列表标题,将获取到的标题列表编号,最终输出到文件里获取网页信息错

利用cheerio制作简单的网页爬虫 1. 目标

完成对网站的标题信息获取

将获取到的信息输出在一个新文件

工具: cheerio,使用npm下载npm install cheerio

cheerioAPI使用方法和jQuery的使用方法基本一致

如果熟练使用jQuery,那么cheerio将会很快上手

2. 代码部分
介绍: 获取segment fault页面的列表标题,将获取到的标题列表编号,最终输出到pageTitle.txt文件里
const https = require("https");
const fs = require("fs");
const cheerio = require("cheerio");
const url = "https://segmentfault.com/";

https.get(url, (res) => {
    let html = "";
    res.on("data", (data) => {
        html += data;
    });
    res.on("end", () => {
        getPageTitle(html);
    });
}).on("error", () => {
    console.log("获取网页信息错误");
});

function getPageTitle(html) {
    const $ = cheerio.load(html);
    let chapters = $(".news__item-title");
    let data = [];
    let index = 0;
    let fileName = "pageTitle.txt";
    for (let i = 0; i < chapters.length; i++) {
        let chapterTitle = $(chapters[i]).find("a").text().trim();
        index++;
        data.push(`
${index}, ${chapterTitle}`);
    }
    fs.writeFile(fileName, data, "utf8", (err) => {
        if (err) {
            console.log("fs文件系统创建新文件失败", err);
        }
        console.log(`已成功将获取到的标题放入新文件${fileName}文件中`)
    })
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/93019.html

相关文章

  • node学习之路(一)—— 网络请求

    摘要:域套接字使用或指定请求方法的字符串。请求路径包含非法字符时抛出异常。保持资源池周围的套接字在未来被用于其它请求。默认值为当使用的时候,通过正在保持活动的套接字发送包的频繁程度。 文章来源:小青年原创发布时间:2016-09-29关键词:JavaScript,nodejs,http,url ,Query String,爬虫转载需标注本文原始地址: http://zhaomenghuan....

    bovenson 评论0 收藏0
  • 分分钟教你用node.js写个爬虫

    摘要:爬虫介绍二爬虫的分类通用网络爬虫全网爬虫爬行对象从一些种子扩充到整个,主要为门户站点搜索引擎和大型服务提供商采集数据。 分分钟教你用node.js写个爬虫 写在前面 十分感谢大家的点赞和关注。其实,这是我第一次在segmentfault上写文章。因为我也是前段时间偶然之间才开始了解和学习爬虫,而且学习node的时间也不是很长。虽然用node做过一些后端的项目,但其实在node和爬虫方面...

    fanux 评论0 收藏0
  • Node.js实现简易爬虫

    摘要:为什么选择利用来写爬虫呢就是因为这个库,全兼容语法,熟悉的话用起来真真是爽依赖选择版的封装了一个服务器和一个简易的客户端解决爬取网页出现乱码初步实现既然是要爬取网站内容,那我们就应该先去看看网站的基本构成选取的是电影天堂作为目标网站,想要 为什么选择利用node来写爬虫呢?就是因为cheerio这个库,全兼容jQuery语法,熟悉的话用起来真真是爽 依赖选择 cheerio: Nod...

    BearyChat 评论0 收藏0
  • node.js 89行爬虫爬取智联招聘信息

    摘要:智联其实一共写了两次,有兴趣的可以在源码看看,第一版的是回调版,只能一次一页的爬取。 写在前面的话,    .......还是不写了,直接上效果图。附上源码地址 github.lonhon showImg(https://segmentfault.com/img/bVUM3F?w=714&h=543);showImg(https://segmentfault.com/img/bVUM...

    _ivan 评论0 收藏0
  • 使用Node.js开发一个小爬虫

    摘要:前言很多程序猿在最开始学习开发的时候应该都有一个想要自己开发一个爬虫的想法至少我是有的。其实弄懂了爬虫的原理,再回过头去看,发现开发一个简单的爬虫来说还是很容易的。 前言 很多程序猿在最开始学习开发的时候应该都有一个想要自己开发一个爬虫的想法(至少我是有的)。所以国内网络上也是爬虫盛行!学了node.js之后发现比较适合写爬虫,不过一直没有动手去写,正好这段时间比较闲,就写个爬虫玩下。...

    Songlcy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<