返回顶部
首页 > 资讯 > 前端开发 > JavaScript >node.js实现简单爬虫示例详解
  • 920
分享到

node.js实现简单爬虫示例详解

node.js简单爬虫node.js爬虫 2023-05-17 20:05:48 920人浏览 安东尼
摘要

目录node.js实现简单爬虫第一步第二步爬虫结果小结:node.js实现简单爬虫 工具:cheerio cheerio 是 nodejs 特别为服务端定制的,能够快速灵活的对 Jq

node.js实现简单爬虫

工具cheerio

cheerio 是 nodejs 特别为服务端定制的,能够快速灵活的对 Jquery 核心进行实现。它工作于 DOM 模型上,且解析、操作、呈送都很高效。 更多 api 参看: GitHub.com/cheeriojs/c…

我们以慕课网页面为例,爬取每个视频课程的标题和课程对应 id,期望结构如下:

titles = [{
  chapterTitle: chapterTitle,
  id: id
}]

第一步

我们用node写一个请求,获取想要爬虫的网站html,这里以慕课网为例:

var Http = require('http')
var url = 'http://www.imooc.com/course/list?c=nodejs'
http.get(url, function(res){
  var html = ''
  res.on('data', function(data){
    html += data
  })
  res.on('end', function(){
    var result = filterHml(html)
    print(result)
  })
}).on('error', function(){
  console.log('获取数据错误!')
})

第二步

我们根据需求来编写过滤HTML的函数,将过滤后的数据打印在控制台。

function filterChapters(html) {
    var $ = cheerio.load(html)
    var chapters = $('.course-card-container')//以类名获取节点元素
    var titles = []
    chapters.each(function (item) {
        var chapter = $(this)
        var chapterTitle = chapter.find('h3').text()
        var id = chapter.find('a').attr('href').split('learn/')[1]
        titles.push({
            chapterTitle: chapterTitle,
            id: id
        })
    })
    return titles
}
function printCourseInfo(courseData){
    courseData.forEach(item => {
        console.log('【' + item.id + '】' + item.chapterTitle + '\n')
    });
}

爬虫结果

【935】Vue+webpack打造todo应用
【882】基于websocket的火拼俄罗斯(单��版)
【861】基于WEBSocket的火拼俄罗斯(基础)
【866】前端性能优化-通用的缓存SDK
【773】AC2016腾讯前端技术大会
【728】创业公司的Nodejs工程师
【725】Roundtable前端分享专场
【637】进击Node.js基础(二)
【590】阿里D2前端技术论坛——2015融合
【564】去哪儿前端沙龙分享第三期
【556】慕课网技术沙龙之前端专场
【434】去哪儿前端沙龙分享第二期
【367】Qnext前端交互沙龙
【348】进击Node.js基础(一)
【221】D2前端技术论坛——2014绽放
【197】node建站攻略(二期)——网站升级
【75】node+mongoDB 建站攻略(一期)

小结:

node.js使得javascript代码能够运行在服务端,从而进行一些操作,node.js的更多用法参看后续文章.

以上就是node.js实现简单爬虫示例详解的详细内容,更多关于node.js简单爬虫的资料请关注编程网其它相关文章!

--结束END--

本文标题: node.js实现简单爬虫示例详解

本文链接: https://lsjlt.com/news/211500.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • node.js实现简单爬虫示例详解
    目录node.js实现简单爬虫第一步第二步爬虫结果小结:node.js实现简单爬虫 工具:cheerio cheerio 是 nodejs 特别为服务端定制的,能够快速灵活的对 JQ...
    99+
    2023-05-17
    node.js简单爬虫 node.js爬虫
  • Node.js 实现简单小说爬虫实例
    最近因为剧荒,老大追了爱奇艺的一部网剧,由丁墨的同名小说《美人为馅》改编,目前已经放出两季,虽然整部剧槽点满满,但是老大看得不亦乐乎,并且在看完第二季之后跟我要小说资源,直接要奔原著去看结局…… 随手搜了...
    99+
    2022-06-04
    爬虫 实例 简单
  • java 爬虫详解及简单实例
    Java爬虫一、代码爬虫的实质就是打开网页源代码进行匹配查找,然后获取查找到的结果。打开网页:URL url = new URL(http://www.cnblogs.com/Renyi-Fan/p/6896901.html);...
    99+
    2023-05-31
    java 爬虫 ava
  • python实现简单爬虫功能的示例
    在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。 我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候...
    99+
    2022-06-04
    爬虫 示例 简单
  • Java 使用maven实现Jsoup简单爬虫案例详解
    一、Jsoup的简介         jsoup 是一款Java 的HTML解析器,可直接解析某个UR...
    99+
    2024-04-02
  • Node.js简单实现爬虫代码怎么写
    以下是一个简单的Node.js爬虫代码示例: const request = require('request'); const c...
    99+
    2023-10-26
    Node.js
  • Python多线程爬虫简单示例
    python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用。 虽然...
    99+
    2022-06-04
    爬虫 示例 多线程
  • python实现简单爬虫--爬图片
    首先有两个功能需求:第一:获取到要爬的页面html内容;第二:使用正则表达式进行匹配并进行保存到本地。#!/usr/bin/env python #encoding:utf-8 import urllib import re def get...
    99+
    2023-01-31
    爬虫 简单 图片
  • node.js做一个简单的爬虫案例教程
    准备工作 首先,你需要下载 nodejs,这个应该没啥问题吧 原文要求下载 webstrom,我电脑上本来就有,但其实不用下载,完全在命令行里面操作就行 创建工程...
    99+
    2024-04-02
  • java实现一个简单的网络爬虫代码示例
    目前市面上流行的爬虫以python居多,简单了解之后,觉得简单的一些页面的爬虫,主要就是去解析目标页面(html)。那么就在想,java有没有用户方便解析html页面呢?找到了一个jsoup包,一个非常方便解析html的工具呢。使用方式也非...
    99+
    2023-05-30
    网络爬虫 java jsoup
  • java编程实现简单的网络爬虫示例过程
    本项目中需要用到两个第三方jar包,分别为 jsoup 和 commons-io。 jsoup的作用是为了解析网页, commons-io 是为了把数据保存到本地。 1.爬取贴吧 第...
    99+
    2024-04-02
  • JAVA超级简单的爬虫实例讲解
    爬取整个页面的数据,并进行有效的提取信息,注释都有就不废话了:public class Reptile { public static void main(String[] args) { String url1=""; //传入...
    99+
    2023-05-30
    java 爬虫 ava
  • 简单实现python爬虫功能
    在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。   我们最常规的做法就是通过鼠标右键,选择另存为。但有些图...
    99+
    2022-06-04
    爬虫 简单 功能
  • python简单爬虫--get方式详解
    目录环境准备进行爬虫参考总结简单爬虫可以划分为get、post格式。其中,get是单方面的获取资源,而post存在交互,如翻译中需要文字输入。本文主要描述简单的get爬虫。 环境准备...
    99+
    2024-04-02
  • 基于node.js制作简单爬虫教程
    前言:最近想学习node.js,突然在网上看到基于node的爬虫制作教程,所以简单学习了一下,把这篇文章分享给同样初学node.js的朋友。 目标:爬取 http://tweixin.yueyishujia...
    99+
    2022-06-04
    爬虫 简单 教程
  • 基于node.js如何制作简单爬虫
    这篇文章主要为大家展示了“基于node.js如何制作简单爬虫”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“基于node.js如何制作简单爬虫”这篇文章吧。目标:...
    99+
    2024-04-02
  • 基于node.js怎么制作简单爬虫
    这篇文章主要讲解了“基于node.js怎么制作简单爬虫”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于node.js怎么制作简单爬虫”吧!目标:爬取 http://tweixin.yuey...
    99+
    2023-06-17
  • node.js简单爬虫的方法是什么
    这篇文章主要介绍“node.js简单爬虫的方法是什么”,在日常操作中,相信很多人在node.js简单爬虫的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node.js简单爬虫的方法是什么”的疑惑有所...
    99+
    2023-07-04
  • PHP实现简单爬虫的方法
    PHP实现简单爬虫的方法,php实现爬虫 本文实例讲述了PHP实现简单爬虫的方法。分享给大家供大家参考。具体如下: ...
    99+
    2023-09-08
    php 爬虫 开发语言
  • go colly 爬虫实现示例
    正文 贡献某CC,go源码爬虫一个,基于colly,效果是根据输入的浏览器cookie及excel必要行列号,从excel中读取公司名称,查询公司法人及电话号码。并写回到excel中...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作