基于Scrapy的数据爬取方法、终端设备及计算机可读存储介质技术

技术编号:21914097 阅读:16 留言:0更新日期:2019-08-21 12:28
本发明专利技术涉及一种数据爬取技术领域,揭露了一种基于Scrapy的数据爬取方法,该方法包括:在爪哇脚本对象简谱JSON文件中对基于Scrapy框架的爬虫文件的配置参数进行定义;对所述JSON文件进行命名,创建爬虫文件,并将所述爬虫文件的名称按照所述JSON文件的名称进行命名;将所述JSON文件的配置参数导入所述爬虫文件;运行导入配置参数后的爬虫文件,爬取网页数据。本发明专利技术还提供一种终端设备及计算机可读存储介质。本发明专利技术提供的基于Scrapy的数据爬取方法、终端设备及计算机可读存储介质,能够通过JSON文件定义Scrapy文件的配置参数,JSON文件集合了一个爬虫文件所需的配置文件,提高代码编写效率,降低漏洞数量,提高爬取网页数据的效果。

Data crawling method, terminal device and computer readable storage medium based on Scrappy

【技术实现步骤摘要】
基于Scrapy的数据爬取方法、终端设备及计算机可读存储介质
本专利技术涉及数据爬取
,尤其涉及一种基于Scrapy的数据爬取方法、终端设备及计算机可读存储介质。
技术介绍
随着信息社会的快速发展,互联网上的数据越来越多,为获取有用信息,目前常常通过网络爬虫技术爬取有用数据。现有爬虫技术中,基于Scrapy的爬虫框架的使用过程中,对于多个网站的爬取要重复编写代码;在编写代码过程中,除了需要分析代码的逻辑,还需要解析网页的规则,会影响网页规则的正确率;另外,Scrapy爬虫框架功能开关及注意点过于分散,分布在各个层级下的文件中,在使用Scrapy爬虫框架爬取数据的过程,很有可能会出现漏洞。因此基于Scrapy框架的使用过程中,存在爬取数据的效果比较差的问题。
技术实现思路
有鉴于此,本专利技术提出一种基于Scrapy的数据爬取方法、终端设备及计算机可读存储介质,以解决基于Scrapy框架的使用过程中,存在爬取数据的效果比较差的问题。首先,为实现上述目的,本专利技术提出一种基于Scrapy的数据爬取方法,该方法包括步骤:在爪哇脚本对象简谱JSON文件中对基于Scrapy框架的爬虫文件的配置参数进行定义;对所述JSON文件进行命名,创建爬虫文件,并将所述爬虫文件的名称按照所述JSON文件的名称进行命名;将所述JSON文件的配置参数导入所述爬虫文件;运行导入配置参数后的爬虫文件,爬取网页数据。可选地,所述在爪哇脚本对象简谱JSON文件中对基于Scrapy框架的爬虫文件的配置参数进行定义的步骤包括:在所述JSON文件中对所述爬虫文件中各个层级的配置参数进行定义,其中,所述爬虫文件的层级包括爬取器、引擎、调度器、下载器、实体管道、默认配置层级、下载中间件、及爬取中间件。可选的,所述运行导入配置参数后的爬虫文件,爬取网页数据的步骤包括:通过所述爬虫文件的引擎从所述导入配置参数后的爬虫文件中获取起始URL,并且将获取的URL提交到调度器中;在需要从URL中下载数据的情况下,所述调度器将URL通过引擎提交给下载器,所述下载器根据URL下载待爬取数据。可选地,所述在爪哇脚本对象简谱JSON文件中对基于Scrapy框架的爬虫文件的配置参数进行定义的步骤包括:在爪哇脚本对象简谱JSON文件中对基于Scrapy框架的爬虫文件的起始网站名、起始网站主页、请求头、基于分布式文件存储的数据库的URI地址、数据库名及集合名进行定义;对跟进网页链接的预处理进行定义;对首页的预处理、起始页的类型、允许域名、跟进的链接函数名、待爬取数据的变量名及匹配方式进行定义,其中,所述匹配方式包括xml路径语言选择器、层叠样式表选择器、及正则表达式。可选地,所述运行导入配置参数后的爬虫文件,爬取网页数据的步骤包括:通过xml路径语言选择器爬取数据;在所述xml路径语言选择器未爬取到数据的情况下,通过层叠样式表CSS选择器爬取数据;在所述层叠样式表选择器未匹配到数据的情况下,通过正则表达式爬取数据。可选地,所述将所述JSON文件的配置参数导入所述爬虫文件的步骤包括:在中断命令行接收预先设置的启动命令,根据接收到的启动命令,将所述JSON文件的配置参数导入所述爬虫文件。可选地,所述将所述JSON文件的配置参数导入所述爬虫文件的步骤包括:在爬虫Scrapy配置文件的同级目录下基于爬虫Python语言定义启动文件;通过所述启动文件将所述JSON文件中的配置参数导入所述Scrapy文件。可选地,所述通过所述启动文件将JSON文件中的配置参数导入所述Scrapy文件的步骤包括:从所述启动文件获取所述爬虫文件的名称;确定与所述爬虫文件的名称具有相同名称的JSON文件,从所述确定的JSON文件中获取对应的配置参数;将所述获取到的配置参数合并到所述Scrapy文件的默认配置文件中。此外,为实现上述目的,本专利技术还提供一种终端设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的基于Scrapy的数据爬取系统,所述基于Scrapy的数据爬取系统被所述处理器执行时实现如上述的基于Scrapy的数据爬取方法的步骤。进一步地,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于Scrapy的数据爬取系统,所述基于Scrapy的数据爬取系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于Scrapy的数据爬取方法的步骤。相较于现有技术,本专利技术所提出的基于Scrapy的数据爬取方法、终端设备及计算机可读存储介质,能够通过JSON文件定义Scrapy文件的配置参数,不同爬虫项目只需要定义一份不同JSON文件即可,JSON文件集合了一个爬虫文件所需的配置文件,无需到爬虫文件的各个层级下进行参数配置及功能修改,提高代码编写效率,降低漏洞数量,提高爬取网页数据的效果。附图说明图1是本专利技术终端设备一可选的硬件架构的示意图;图2是本专利技术基于Scrapy的数据爬取系统第一实施例的程序模块示意图;图3是本专利技术基于Scrapy的数据爬取系统第二实施例的程序模块示意图;图4是本专利技术基于Scrapy的数据爬取方法第一实施例的流程示意图;图5是本专利技术基于Scrapy的数据爬取方法第二实施例的流程示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在本专利技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本专利技术要求的保护范围之内。参阅图1所示,是本专利技术终端设备2一可选的硬件架构的示意图。本实施例中,所述终端设备2可包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图1仅示出了具有组件11-13的终端设备2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,终端设备可以以各种形式来实施。例如,本专利技术中描述的终端设备可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(PersonalDigitalAssistant,PDA)、便捷式媒体播放器(PortableMediaPlayer,PMP)、导航装置、可穿戴设备、移动终端、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。后续描述中将以终端设备为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本专利技术的实施方式的构造也能够应用于固定类型的终端设备。所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例本文档来自技高网...

【技术保护点】
1.一种基于Scrapy的数据爬取方法,其特征在于,所述方法包括步骤:在爪哇脚本对象简谱JSON文件中对基于Scrapy框架的爬虫文件的配置参数进行定义;对所述JSON文件进行命名,创建爬虫文件,并将所述爬虫文件的名称按照所述JSON文件的名称进行命名;将所述JSON文件的配置参数导入所述爬虫文件;运行导入配置参数后的爬虫文件,爬取网页数据。

【技术特征摘要】
1.一种基于Scrapy的数据爬取方法,其特征在于,所述方法包括步骤:在爪哇脚本对象简谱JSON文件中对基于Scrapy框架的爬虫文件的配置参数进行定义;对所述JSON文件进行命名,创建爬虫文件,并将所述爬虫文件的名称按照所述JSON文件的名称进行命名;将所述JSON文件的配置参数导入所述爬虫文件;运行导入配置参数后的爬虫文件,爬取网页数据。2.如权利要求1所述的基于Scrapy的数据爬取方法,其特征在于,所述在爪哇脚本对象简谱JSON文件中对基于Scrapy框架的爬虫文件的配置参数进行定义的步骤包括:在所述JSON文件中对所述爬虫文件中各个层级的配置参数进行定义,其中,所述爬虫文件的层级包括爬取器、引擎、调度器、下载器、实体管道、默认配置Setting层级、下载中间件、及爬取中间件。3.如权利要求2所述的基于Scrapy的数据爬取方法,其特征在于,所述运行导入配置参数后的爬虫文件,爬取网页数据的步骤包括:通过所述爬虫文件的引擎从所述导入配置参数后的爬虫文件中获取起始URL,并且将获取的URL提交到调度器中;在需要从URL中下载数据的情况下,所述调度器将URL通过引擎提交给下载器,所述下载器根据URL下载待爬取数据。4.如权利要求1所述的基于Scrapy的数据爬取方法,其特征在于,所述在爪哇脚本对象简谱JSON文件中对基于Scrapy框架的爬虫文件的配置参数进行定义的步骤包括:在爪哇脚本对象简谱JSON文件中对基于Scrapy框架的爬虫文件的起始网站名、起始网站主页、请求头、基于分布式文件存储的数据库的URI地址、数据库名及集合名进行定义;对跟进网页链接的预处理进行定义;对首页的预处理、起始页的类型、允许域名、跟进的链接函数名、待爬取数据的变量名及匹配方式进行定义,其中,所述匹配方式包括xml路径语言选择器、层叠样式表选择器、及正则表达式。5.如权利要求1或2所述的基于Scrapy的数据爬取方法,...

【专利技术属性】
技术研发人员:董润华徐国强邱寒
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1