当前位置:Gxlcms > JavaScript > 利用nodejs爬虫使用superagent和cheerio的方法

利用nodejs爬虫使用superagent和cheerio的方法

时间:2021-07-01 10:21:17 帮助过:7人阅读

这篇文章主要介绍了nodejs爬虫初试superagent和cheerio的相关知识,非常不错,具有参考借鉴价值,需要的朋友可以参考下

前言

  早就听过爬虫,这几天开始学习nodejs,写了个爬虫https://github.com/leichangchun/node-crawlers/tree/master/superagent_cheerio_demo,爬取 博客园首页的文章标题、用户名、阅读数、推荐数和用户头像,现做个小总结。

  使用到这几个点:

  1、node的核心模块-- 文件系统

  2、用于http请求的第三方模块 -- superagent

  3、用于解析DOM的第三方模块 -- cheerio

  几个模块详细的讲解及API请到各个链接查阅,demo中只有简单的用法。

准备工作

  使用npm管理依赖,依赖信息会存放在package.json中

  引入所需要用到的功能模块

请求 + 解析页面

  想要爬到博客园首页的内容,首先要请求首页地址,拿到返回的html,这里使用superagent进行http请求,基本的使用方法如下:

  向指定的url发起get请求,请求错误时,会有error返回(没有错误时,error为null或undefined),res为返回的数据。

  拿到html内容后,要拿到我们想要的数据,这个时候就需要用cheerio解析DOM了,cheerio要先load目标html,然后再进行解析,API和jquery的API非常类似,熟悉jquery上手非常快。直接看代码实例

存储数据

  上面解析DOM之后,已经拼接了所需要的信息内容,也拿到了图片的URL,现在就进行存储,把内容存放到指定目录的txt文件中,而且下载图片到指定目录

  先创建目录,使用nodejs核心的文件系统

  有了指定目录之后,可以写入数据了,txt文件的内容已经有了,直接写入就可以了使用writeFile()

  取到了图片的链接,所以需要再使用superagent下载图片,存在本地。superagent可以直接返回一个响应流,再配合nodejs的管道,直接把图片内容写到本地

效果  

  执行下demo,看下效果,数据已经正常爬下来了

  非常简单的一个demo,可能也没有那么严谨,不过总是走出了node的第一小步。

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

Vue的路由动态重定向和导航守卫实例

vue实现的上传图片到数据库并显示到页面功能示例

解决使用vue.js路由后失效的问题

以上就是利用nodejs爬虫使用superagent和cheerio的方法的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行