[发明专利]基于Node.js的爬虫方法、装置、计算机设备及存储介质在审
申请号: | 202011267489.0 | 申请日: | 2020-11-13 |
公开(公告)号: | CN112380413A | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 董帮付;于海生 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
主分类号: | G06F16/951 | 分类号: | G06F16/951 |
代理公司: | 深圳国新南方知识产权代理有限公司 44374 | 代理人: | 周雷 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 node js 爬虫 方法 装置 计算机 设备 存储 介质 | ||
本发明涉及大数据技术领域,应用于数据采集技术领域,揭露了一种基于Node.js的爬虫方法、装置、设备及存储介质。该基于Node.js的爬虫方法包括获取待访问队列;其中,所述待访问队列包括多个访问地址;每一所述访问地址对应一网页;基于所述访问地址,调用多个爬虫任务进程执行图像下载任务;其中,每一所述爬虫任务进程对应处理一所述访问地址;接收每一所述爬虫任务进程下载的图像数据,并将所述图像数据存储至结果处理队列中;调用一结果处理进程从所述结果处理队列中取出每一所述图像数据,并写入至目标文件中。该基于Node.js的爬虫方法可有效解决当前单进程方式爬虫导致的爬虫效率的问题。
技术领域
本发明涉及大数据技术领域,尤其涉及一种基于Node.js的爬虫方法、装置、计算机设备及存储介质。
背景技术
近年来,随着互联网网站、受众、媒介越来越多,互联网数据呈指数级增长。因此,获取网站资源、整合行业数据显得尤为重要。通过爬虫方法获取网络资源,也成为了一种必要的手段。
目前,爬虫大多采用python实现,这就导致需要通过后台服务器交换数据,对于前端开发人员来说实现上较为繁琐。此外,由于目前的爬虫采用单进程的方式实现,即在爬取多页面的数据时,只有在当前页面爬取完毕,才可爬取下一个页面的数据,爬虫效率低。
发明内容
本发明实施例提供一种基于Node.js的爬虫方法、装置、计算机设备及存储介质,以解决传统爬虫技术的效率低的问题。
一种基于Node.js的爬虫方法,包括:
获取待访问队列;其中,所述待访问队列包括多个访问地址;每一所述访问地址对应一网页;
基于所述访问地址,调用多个爬虫任务进程执行图像下载任务;其中,每一所述爬虫任务进程对应处理一所述访问地址;
接收每一所述爬虫任务进程下载的图像数据,并将所述图像数据存储至结果处理队列中;
调用一结果处理进程从所述结果处理队列中取出每一所述图像数据,并写入至目标文件中。
一种基于Node.js的爬虫装置,包括:
待访问队列获取模块,用于获取待访问队列;其中,所述待访问队列包括多个访问地址;每一所述访问地址对应一网页;
图像下载模块,用于基于所述访问地址,调用多个爬虫任务进程执行图像下载任务;其中,每一所述爬虫任务进程对应处理一所述访问地址;
下载数据存储模块,用于接收每一所述爬虫任务进程下载的图像数据,并将所述图像数据存储至结果处理队列中;
结果写入模块,用于调用一结果处理进程从所述结果处理队列中取出每一所述图像数据,并写入至目标文件中。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于Node.js的爬虫方法的步骤。
一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于Node.js的爬虫方法的步骤。
上述基于Node.js的爬虫方法、装置、计算机设备及存储介质中,本实施例中,通过依赖Node.js工具实现爬虫,无需通过后台服务器交换数据,可以直接在页面上实现,对于前端开发人员来说,掌握门槛低。然后,通过多进程的方式并行爬取多页面的数据,以有效解决当前单进程方式爬虫导致的爬虫效率的问题。最后,为防止多进程写入文件引发的进程资源抢占的问题,通过调用一结果处理进程从所述结果处理队列中取出每一所述图像数据,并写入至目标文件中,将结果写入以及图像下载的任务分离,可有效避免多个进程爬虫任务进程同时操作一个文件的问题。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011267489.0/2.html,转载请声明来源钻瓜专利网。