申请ID:前端小白
申 请 I D:前端小白个人邮箱:1845477671@qq.com
原创技术文章:使用NodeJS 进行爬虫下载小说信息
本人前端小白,目前还在努力学习中,给大家分享我在使用NodeJS进行爬虫操作,抓取小说信息并下载图片的过程
NodeJS进行爬虫操作并下载图片
以下开始教程
首先要先要导入以下几个模块,对应的作用已经写了注释
然后要先找想要爬的网站,并找出小说列表的页码和网址之间的规律,然后把他们都添加到数组中 我这里用的起点中文网的,是在免费列表中的,
这里我就放了2个网址,防止爬取的数据过多,容易封IP
然后 需要创建一个方法,这个方法是解析网页,并拿到网页中的数据 进行操作,先把基础的框架搭好,先看是否可以执行。
接着需要用到异步函数了,限制并发量5条,遍历网址的数组,用每条url进行解析网页,最终得到数据。
接下来 执行下函数,可以看出
由于2条网址太少了,达不到5条并发的要求,所以我用了20条,这样就可以很好的看出异步操作并发数据的好处了,接下来开始解析并抓取网页中的数据
使用superagent模块进行解析网页,获取网页DOM节点树,并设置网页的编码格式,然后判断当前操作是否有错误,如果有返回错误,没有继续下一步操作
使用 cheerio模块解析网页,定义$,因为和jQuery语法类似,方便理解,然后在网页找出需要抓取的数据的标签
这里的$(".all-img-list li") 就是上面网页截图的元素,也是目标元素,遍历目标元素,使得每次都可以出发.emit方法,res.text就是网页的DOM节点树。
这个.after函数就是.emit触发后执行的操作,主要是用来解析网页,然后返回需要的数据,这里的arr数组就是.emit传过来的数据,然后在网页中找到需要的数据并返回。
这是小说的标题,描述,详情链接和图片
小说标题
小说描述
小说图片
然后在定义的延迟函数,把获取到的数据data通过callback传回去
这里的result就是传过来的data的集合数组,通过遍历把图片的url和小说标题遍历出来,然后通过fs模块下载到本地。
最终CMD窗口上出现的数据以及下载到本地的图片
个人感觉NodeJS的爬虫虽然没有Python的功能强大,但是通过学习操作,开发的乐趣以及难易程度比Python好多了,个人观点,不喜勿喷!
以上就是本人使用NodeJS爬虫爬取小说信息并下载图片到本地的全部过程,如有不对 请指正,希望可以通过审核,自己也会继续努力!奥利给!
抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
Hmily 发表于 2020-6-23 10:43
抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
大佬,是不是内容太简单了?{:1_907:} 首先支持下楼主,静待52开园之日便是你绚烂绽放之时! 游客 218.0.219.x 发表于 2020-6-23 11:30
大佬,是不是内容太简单了?
是的,你可以参考下现在精华帖的标准。
页:
[1]