当前位置:Gxlcms > JavaScript > 多页面爬虫在nodejs中的示例代码分析

多页面爬虫在nodejs中的示例代码分析

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

本篇文章主要介绍了基于nodejs 的多页面爬虫 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

前言

前端时间再回顾了一下node.js,于是顺势做了一个爬虫来加深自己对node的理解。

主要用的到是request,cheerio,async三个模块

request

用于请求地址和快速下载图片流。

cheerio

为服务器特别定制的,快速、灵活、实施的jQuery核心实现.

便于解析html代码。

async

异步调用,防止堵塞。

核心思路

  1. 用request 发送一个请求。获取html代码,取得其中的img标签和a标签。

  2. 通过获取的a表情进行递归调用。不断获取img地址和a地址,继续递归

  3. 获取img地址通过request(photo).pipe(fs.createWriteStream(dir + “/” + filename));进行快速下载。

防坑

1.在request通过图片地址下载时,绑定error事件防止爬虫异常的中断。

2.通过async的mapLimit限制并发。

3.加入请求报头,防止ip被屏蔽。

4.获取一些图片和超链接地址,可能是相对路径(待考虑解决是否有通过方法)。

测试:


可以感觉到速度还是比较快的。

以上就是多页面爬虫在nodejs中的示例代码分析的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行