CN110851681A - 爬虫处理方法、装置、服务器及计算机可读存储介质 - Google Patents
爬虫处理方法、装置、服务器及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110851681A CN110851681A CN201910965767.0A CN201910965767A CN110851681A CN 110851681 A CN110851681 A CN 110851681A CN 201910965767 A CN201910965767 A CN 201910965767A CN 110851681 A CN110851681 A CN 110851681A
- Authority
- CN
- China
- Prior art keywords
- page
- grabbed
- target
- type
- crawler
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种爬虫处理方法、装置、服务器及计算机可读存储介质,该方法包括:接收终端发送的对指定抓取任务的任务启动指令,该任务启动指令包括该指定抓取任务的第一配置记录、第二配置记录、第三配置记录;根据第一配置记录包括的种子信息和该第二配置记录包括的针对该指示至少一类待抓取页面中每类待抓取页面的爬虫配置信息执行爬虫操作,得到该每类待抓取页面对应的爬虫数据集合;根据第三配置记录包括的每类待抓取页面对应的解析规则,从该每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据。采用本申请,可以使得爬虫过程更具针对性,并可以提高可扩展性,提升爬虫效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种爬虫处理方法、装置、服务器及计算机可读存储介质。
背景技术
随着网络技术的发展,网络当中包含有越来越多的数据,如果想要获取数据,通常可以采用爬虫技术从网页或数据库当中获取数据。
爬虫作为一种获取网络数据的重要手段,其获取网络数据的难易程度和数据源网站密切相关。传统的抓取系统需要针对不同的数据源编写特定代码以进行爬虫。在爬虫过程中,一般会基于提供的一个链接地址面向的海量的数据执行抓取任务。然而,由于该方式缺乏针对性、可扩展性较低,降低了爬虫效率。
发明内容
本申请实施例提供了一种爬虫处理方法、装置、服务器及计算机可读存储介质,可以使得爬虫过程更具针对性,并可以提高可扩展性,提升爬虫效率。
第一方面,本申请实施例提供了一种爬虫处理方法,包括:
接收终端发送的对指定抓取任务的任务启动指令,所述任务启动指令包括所述指定抓取任务的第一配置记录、第二配置记录、第三配置记录,所述第一配置记录包括种子信息,所述第二配置记录包括针对至少一类待抓取页面中每类待抓取页面设置的爬虫配置信息,所述第三配置记录包括所述每类待抓取页面对应的解析规则;
根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,每类待抓取页面对应的所述爬虫数据集合包括属于该类待抓取页面的页面;
根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据。
可选地,所述根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,包括:
将所述种子信息包括的至少一个种子链接地址写入待抓取链接地址队列;
从待抓取链接队列中取出写入时间最早的第一种子链接地址,访问并下载所述第一种子链接地址对应的页面,并将第一种子链接地址写入已抓取链接地址队列;
基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述第一种子链接地址对应的页面中,匹配出属于该类待抓取页面的页面,并提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列;
从所述待抓取链接地址队列中取出写入时间最早的目标链接地址,访问并下载所述目标链接地址对应的页面,并将所述目标链接地址写入已抓取链接地址队列;
基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述目标链接地址对应的页面中,匹配出属于该类待抓取页面的页面,并提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列,重复执行所述从所述待抓取链接地址队列中取出写入时间最早的目标地址的步骤,直到满足预设条件时停止爬虫操作。
可选地,所述提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列,包括:
提取属于该类待抓取页面的页面中的新增链接地址,并将提取的新增链接地址写入所述待抓取链接地址队列;所述新增链接地址是指未放入所述已抓取链接地址队列的地址。
可选地,所述预设条件包括以下至少一项:待抓取链接地址队列为空、抓取操作的运行时长为预设运行时长、已抓取链接地址队列中的链接地址的数量达到预设抓取数量、针对每类待抓取页面提取的新增链接地址的总量达到各自对应的最大发现量。
可选地,在根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据之前,所述方法还包括:
当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在包括所述错误标签的页面,如果存在,则删除所述包括所述错误标签的页面;所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面;或者,
当所述目标类待抓取页面对应的爬虫配置信息包括预设的正确标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在不包括所述正确标签的页面,如果存在,则删除所述不包括所述正确标签的页面;
所述根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据,包括:
根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的执行删除操作后的爬虫数据集合包括的各页面中解析出目标数据。
可选地,在所述提取属于该类待抓取页面的页面中的链接地址之前,所述方法还包括:
当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,在匹配出属于所述目标类待抓取页面的页面之后,判断所述属于所述目标类待抓取页面的页面是否包括所述错误标签;
所述提取属于该类待抓取页面的页面中的链接地址,包括:
如果所述属于所述目标类待抓取页面的页面不包括所述错误标签,提取属于所述目标类待抓取页面的页面中的链接地址。
可选地,所述至少一类待抓取页面包括目标类待抓取页面,所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面,所述目标类待抓取页面对应的解析规则包括目标处理方案、目标字段信息和目标处理器,
所述根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据,包括:
由所述目标选择器采用所述目标处理方案,从所述目标类待抓取页面对应的爬虫数据集合包括的各页面中识别出所述目标字段信息对应的元素;
当所述目标处理方案为提取类别下的任一处理方案时,将提取的所述目标字段信息对应的元素确定为目标数据;
当所述目标处理方案为操作类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并将下载的所述链接页面确定为目标数据;
当所述目标处理方案为下载类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并下载所述链接页面包括的可下载数据,将下载的所述可下载数据确定为目标数据。
第二方面,本申请实施例提供了一种爬虫处理装置,包括:
接收单元,用于接收终端发送的对指定抓取任务的任务启动指令,所述任务启动指令包括所述指定抓取任务的第一配置记录、第二配置记录、第三配置记录,所述第一配置记录包括种子信息,所述第二配置记录包括针对至少一类待抓取页面中每类待抓取页面设置的爬虫配置信息,所述第三配置记录包括所述每类待抓取页面对应的解析规则;
爬虫单元,用于根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,每类待抓取页面对应的所述爬虫数据集合包括属于该类待抓取页面的页面;
解析单元,用于根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据。
第三方面,本申请实施例提供了一种服务器,包括处理器、存储器和输入设备,所述处理器、所述存储器和所述输入设备之间相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面所述的方法。
综上所述,服务器可以接收终端发送的对指定抓取任务的任务启动指令,并可以根据任务启动指令包括的配置记录执行爬虫操作和页面解析操作,以得到目标数据,从而能够使得爬虫过程更具针对性,并可以提高可扩展性,提升爬虫效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种爬虫处理方法的流程示意图;
图2是本申请实施例提供的一种种子配置界面的示意图;
图3是本申请实施例提供的一种待抓取页面配置界面的示意图;
图4a是本申请实施例提供的一种解析规则配置界面的示意图;
图4b是本申请实施例提供的另一种解析规则配置界面的示意图;
图5是本申请实施例提供的一种待抓取页面对应的任务列表的示意图;
图6是本申请实施例提供的一种基于解析规则配置界面设置处理方案的示意图;
图7是本申请实施例提供的一种任务创建界面的示意图;
图8是本申请实施例提供的一种任务管理界面上显示的提示框的示意图;
图9是本申请实施例提供的另一种爬虫处理方法的流程示意图;
图10是本申请实施例提供的一种爬虫处理系统的网络架构示意图;
图11是本申请实施例提供的一种爬虫处理装置的结构示意图;
图12是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参阅图1,为本申请实施例提供的一种爬虫处理方法的流程示意图。该方法可以应用于服务器,该服务器可以为互联网中的一个服务器或服务器集群。具体地,该方法可以包括以下步骤:
S101、接收终端发送的对指定抓取任务的任务启动指令,所述任务启动指令包括所述指定抓取任务的第一配置记录、第二配置记录、第三配置记录,所述第一配置记录包括种子信息,所述第二配置记录包括针对至少一类待抓取页面中每类待抓取页面设置的爬虫配置信息,所述第三配置记录包括所述每类待抓取页面对应的解析规则。
本申请实施例中,终端可以向服务器发送对指定抓取任务的任务启动指令;服务器可以接收终端发送的对指定抓取任务的任务启动指令,以执行步骤S102。其中,终端包括但不限于笔记本电脑、台式电脑、平板电脑、智能手机等等智能终端。
其中,该种子信息可以包括至少一个种子链接地址。例如,参见图2,该种子链接地址可以包括链接地址1。其中,种子链接地址可以是指抓取的起始地址。
其中,该爬虫配置信息可以包括页面标识,如页面名称或类别,如图3所示的新闻列表页面。在一个实施例中,该爬虫配置信息可以包括匹配规则。该匹配规则可以为描述该类待抓取页面的信息,能够用于定位属于该类待抓取页面的页面。例如,该匹配规则可以为该类待抓取页面的链接地址,或为描述该类待抓取页面的正则表达式,或为描述该类待抓取页面的链接地址的正则表达式。在一个实施例中,参见图3,该爬虫配置信息还可以包括以下至少一项:渲染方式、重试次数、最大发现量、过期时间、预设标签。该预设标签可以包括错误标签和/或正确标签。
在一个实施例中,解析规则可以包括至少一个处理方案、该至少一个处理方案中每个处理方案对应的字段信息和选择器。其中,该字段信息可以包括字段名称。在一个实施例中,该字段信息还可以包括字段变量,该解析规则还可以包括脚本信息。例如,参见图4a,新闻列表页面的解析规则包括处理方案:点击链接进入、以及该处理方案对应的字段名称:新闻详细页链接、选择器blk2a以及对应的脚本信息。再如,参见图4b,新闻详情页面的解析规则包括处理方案:文本提取、字段名称:新闻事件、字段变量:date、选择器date-sourcespan以及对应的脚本信息。在一个实施例中,该第三配置记录还可以包括包含解析规则的信息的任务列表,图5所示的任务列表包括至少一个解析规则的信息,如创建时间等等信息。如图6所示,处理方案可以分为以下几种类别:提取类、操作类、下载类。提取类的处理方案,可以包括以下至少一种:文本提取、超文本标记语言(Hyper Text Markup Language,HTML)提取、属性提取、链接提取、源码提取、源码截取、请求统一资源定位符(UniformResource Locator,URL)、来源URL。操作类的处理方案可以包括以下至少一种:点击链接进入、属性提取进入、文件提取进入、源码截取进入、带参数进入。下载类的处理方案可以包括以下至少一项:点击链接下载、源码截取下载。通过处理方案可以达到模拟人的行为进行操作的目的,使得爬虫过程更加智能化。
在一个实施例中,该任务启动指令除了可以包括第一配置记录、第二配置记录、第三配置记录之外,还可以包括第四配置记录等等配置记录。其中,该第四配置记录可以包括该指定任务的任务信息,如任务名称。在一个实施例中,参见图7,该第四配置记录还可以包括以下至少一项:所属项目、访问频次(抓取频次)、运行时长、根域名、定时器(包括定时规则)、BeanID(业务接口)、发布接口的信息。
在一个应用场景中,该对指定任务的任务启动指令,可以是当检测到对启动选项或确认选项的触控操作时生成的。
在一个应用场景中,终端可以根据该指定抓取任务确定对应的种子信息,并生成第一配置记录;终端还可以根据该指定抓取任务确定至少一类待抓取页面中每类待抓取页面的爬虫配置信息,并生成第二配置记录;终端还可以获取该至少一类待抓取页面中每类待抓取页面对应的解析规则,并生成第三配置记录。
在一个实施例中,服务器可以当接收到创建抓取任务的指令时,返回终端任务创建界面,以便终端基于该任务创建界面设置指定抓取任务的任务信息,并生成该指定抓取任务的第四配置记录。
在一个实施例中,终端可以显示项目列表界面,并当检测到对目标项目对应的选项的点击操作时,显示包括该目标项目对应的任务列表的界面,该目标项目对应的任务列表包括至少一个抓取任务的菜单栏;当检测到对包括该目标项目对应任务列表的界面中的创建任务选项的触控操作时,可以发送创建抓取任务的指令至服务器。
在一个实施例中,在设置该指定抓取任务的任务信息后,终端可以在检测到对指定抓取任务的菜单栏包括的种子选项的触控操作时,显示种子配置界面。在一个实施例中,终端可以发送种子配置请求至服务器,服务器可以响应该种子配置请求返回种子配置界面至终端。终端可以基于该种子配置界面设置种子信息。
在一个实施例中,终端可以在设置种子信息后,返回包括该目标项目对应的任务列表的界面,并在检测到对该包括该目标项目对应的任务列表的界面中的配置选项的选择操作时,显示包括页面列表的界面。在一个实施例中,终端可以基于包括页面列表的界面发送创建页面请求或编辑页面请求至服务器,服务器可以响应该创建页面请求或编辑页面请求返回待抓取页面配置界面至终端。终端可以基于该待抓取页面配置界面设置相应类待抓取页面的爬虫配置信息。
在一个实施例中,终端可以将相应类待抓取页面的爬虫配置信息更新至页面列表,终端可以基于该页面列表查看相应类待抓取页面对应的任务列表;当检测到对出该任务列表中的创建任务选项的触控操作时,显示解析规则配置界面。在一个实施例中,终端可以发送解析规则创建请求至服务器,服务器可以响应该解析规则创建请求返回解析规则配置界面至终端。终端可以基于该解析规则配置界面配置相应解析规则。
在一个实施例中,终端可以显示该指定任务的任务管理界面,并基于该任务管理界面配置该指定任务的抓取模式和/或发布模式,并生成第五配置记录。
在一个实施例中,终端可以在任务管理界面上显示如图8所示的提示框,该提示框包括至少一个抓取模式和/或至少一个发布模式,终端可以选取相应的抓取模式和/或发布模式。在一个实施例中,该对指定任务的任务启动指令可以是终端在检测到对该提示框包括的确认选项的触控操作时发送至服务器的。
可选地,终端可以是在检测到对指定任务的菜单栏包括的指定任务选项的点击操作时,显示该指定任务的任务管理界面。在一个实施例中,终端可以发任务管理界面查看请求至服务器,服务器可以响应该任务管理界面查看请求返回任务管理界面至终端。
S102、根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,每类待抓取页面对应的所述爬虫数据集合包括属于该类待抓取页面的页面。
本申请实施例中,服务器可以根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,使得爬虫过程更具针对性,提高了爬虫效率。
在一个实施例中,服务器根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,可以包括:服务器将所述种子信息包括的至少一个种子链接地址写入待抓取链接地址队列;服务器从待抓取链接队列中取出写入时间最早的第一种子链接地址,访问并下载所述第一种子链接地址对应的页面,并将第一种子链接地址写入已抓取链接地址队列;基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述第一种子链接地址对应的页面中,匹配出属于该类待抓取页面的页面,并提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列;从所述待抓取链接地址队列中取出写入时间最早的目标链接地址,访问并下载所述目标链接地址对应的页面,并将所述目标链接地址写入已抓取链接地址队列;基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述目标链接地址对应的页面中,匹配出属于该类待抓取页面的页面,并提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列,重复执行所述从所述待抓取链接地址队列中取出写入时间最早的目标地址的步骤,直到满足预设条件时停止爬虫操作。通过匹配规则进行页面匹配,能够便于快读的匹配出属于该类待抓取页面的页面,使得爬虫过程更具针对性,能够提升爬虫准确度和爬虫效率。
例如,种子链接地址包括XX新闻首页对应的链接地址1,该至少一类待抓取页面包括新闻详情页面和新闻列表页面,服务器可以将链接地址1放入待抓取链接地址队列中,并从该待抓取链接地址队列中取出链接地址1,访问并下载该链接地址1对应的XX新闻首页,并将链接地址1放入已抓取链接地址队列。服务器基于新闻详情页面对应的匹配规则以及新闻列表页面对应的匹配规则,分别从XX新闻首页中匹配出属于新闻详情页面的页面和属于新闻列表页面的页面,并提取属于新闻详情页面的页面中的链接地址和属于新闻列表页面的页面中的链接地址,将该属于新闻详情页面的页面中的链接地址和该属于新闻列表页面的页面中的链接地址依次写入待抓取链接地址队列。服务器继续从该待抓取链接地址队列中取出写入时间最早的目标链接地址,访问并下载该目标链接地址对应的页面,并将该目标链接地址放入已抓取链接地址队列。服务器基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从该目标链接地址对应的页面中,匹配出属于该该类待抓取页面的页面,并提取属于该该类待抓取页面的页面中的链接地址,将提取的链接地址写入该待抓取链接地址队列,重复执行该从该待抓取链接地址队列中取出写入时间最早的目标地址的步骤,直到满足预设条件时停止爬虫操作。
在一个实施例中,上述停止爬虫操作可以是指停止执行从所述待抓取链接地址队列中取出写入时间最早的目标链接地址的步骤及其后续步骤。
在一个实施例中,服务器可以在将至少一个种子链接地址写入待抓取链接地址队列时,记录该至少一个种子链接地址中每个种子链接地址的写入时间,并还可以在将提取的链接地址写入待抓取链接地址队列时,记录该提取的链接地址的写入时间。
在一个实施例中,上述基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述第一种子链接地址对应的页面中,匹配出属于该类待抓取页面的页面,还可以替换为:基于每类待抓取页面对应的爬虫配置信息包括的页面名称,从第一种子链接地址对应的页面中匹配出属于该类待抓取页面的页面。相应的,上述基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述目标链接地址对应的页面中,匹配出属于该类待抓取页面的页面,也可以替换为基于每类待抓取页面对应的爬虫配置信息包括的页面名称,从目标链接地址对应的页面中匹配出属于该类待抓取页面的页面。除此之外,上述基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述第一种子链接地址对应的页面中,匹配出属于该类待抓取页面的页面,还可以替换为:基于每类待抓取页面对应的爬虫配置信息包括的页面名称和匹配规则,从第一种子链接地址对应的页面中匹配出属于该类待抓取页面的页面。相应的,上述基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述目标链接地址对应的页面中,匹配出属于该类待抓取页面的页面,也可以替换为基于每类待抓取页面对应的爬虫配置信息包括的页面名称和匹配规则,从目标链接地址对应的页面中匹配出属于该类待抓取页面的页面。同时结合页面名称和匹配规则,能够有效地提高匹配准确度和爬虫效率。
在一个实施例中,服务器提取属于该类待抓取页面的页面中的链接地址,并将提取的链接地址写入所述待抓取链接地址队列,可以包括:服务器提取属于该类待抓取页面的页面中的新增链接地址,并将提取的新增链接地址写入所述待抓取链接地址队列;所述新增链接地址是指未放入所述已抓取链接地址队列的地址。
在一个实施例中,当该任务启动指令还包括第四配置记录,且第四配置记录包括访问频率时,服务器可以按照该访问频率执行页面访问操作,即可以按照该访问频率从待抓取链接地址队列中取出写入时间最早的目标链接地址。例如,服务器可以每间隔3s从待抓取链接地址队列中取出写入时间最早的目标链接地址。通过设置访问频率能够降低服务器因频率访问某个网站导致被禁止访问的概率。
在一个实施例中,当该任务启动指令还包括第四配置记录,且该第四配置记录包括定时器时,服务器可以在检测到定时器包括的定时规则所指示的抓取周期到达时,触发执行将所述种子信息包括的至少一个种子链接地址写入待抓取队列的步骤。
在一个实施例中,前述预设条件可以包括以下至少一项:待抓取链接地址队列为空、抓取操作的运行时长为预设运行时长、已抓取链接地址队列中的链接地址的数量达到预设抓取数量、针对每类待抓取页面提取的新增链接地址的总量达到各自对应的最大发现量(如针对新闻详情页面提取的新增链接地址达到1000条)。
在一个实施例中,在将提取的链接地址放入待抓取链接地址队列之前,服务器可以判断该提取的链接地址是否过期,如果未过期,则触发执行将该提取的链接地址放入待抓取链接地址队列的步骤。其中,该判断提取的链接地址是否过期的过程,可以是通过页面配置信息包括的过期时间判断的。例如,服务器可以计算系统时间和链接地址发布时间之间的差值,并将该差值与过期时间进行比对,如果差值大于过期时间,则确定过期。通过上述过程,可以滤除一些无效链接,提高爬虫过程的有效性。
在一个实施例中,服务器可以在提取属于所述目标类待抓取页面的页面中的链接地址之前,当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,在匹配出属于所述目标类待抓取页面的页面之后,判断所述属于所述目标类待抓取页面的页面是否包括所述错误标签;所述提取属于该类待抓取页面的页面中的链接地址,包括:如果所述属于所述目标类待抓取页面的页面不包括所述错误标签,提取属于所述目标类待抓取页面的页面中的链接地址。其中,该目标类待抓取页面可以为该指示至少一类待抓取页面中的任一类待抓取页面。通过错误标签进行页面筛选,可以避免得到一些非预期的页面。
在一个实施例中,服务器还可以当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的正确标签时,在匹配出属于所述目标类待抓取页面的页面之后,判断所述属于所述目标类待抓取页面的页面是否包括所述正确标签;所述提取属于该类待抓取页面的页面中的链接地址,包括:如果所述属于所述目标类待抓取页面的页面包括所述正确标签,提取属于所述目标类待抓取页面的页面中的链接地址。通过正确标签进行页面筛选,可以便于得到一些预期的页面。
在一个实施例中,该任务启动指令还可以包括第五配置记录,且第五配置记录包括预设的抓取模式。例如,参见图8,该预设的抓取模式可以为以下任一项:普通模式、发现模式、全量模式。其中,每种抓取模式对应一个预设抓取数量,每种抓取模式对应的预设抓取数量不同。在一个实施例中,当第五配置记录包括发现模式时,可以触发前述执行提取属于该类待抓取页面的页面中的新增链接地址,并将提取的新增链接地址写入所述待抓取链接地址队列的步骤。
在一个实施例中,服务器可以维护一个网际协议(Internet Protocol,IP)资源池。当服务器访问目标链接地址对应的页面失败时,可以按照预设的访问策略从IP资源重新选取一个IP地址以重新访问该目标链接地址对应的页面。在一个实施例中,服务器可以从IP资源池任选一个IP地址重新访问;或服务器还可以按照为每个IP地址设置的切换优先级,从IP资源池重新选取一个优先级大于或等于预设优先级的IP地址以重新访问该链接地址;或服务器还可以按照对IP地址的扫描顺序依次从IP资源池任选一个IP地址重新访问,直到访问成功。
在一个实施例中,前述下载的第一种子链接地址对应的页面以及目标链接地址对应的页面可以存储至预设的数据库,如网页库。
S103、根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据。
本申请实施例中,服务器可以根据所述每类待抓取页面对应的解析地址,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据,提升了爬虫过程的可扩展性。
在一个实施例中,所述至少一类待抓取页面可以包括目标类待抓取页面,所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面,所述目标类待抓取页面对应的解析规则包括目标处理方案、目标字段信息和目标处理器。
在一个实施例中,服务器根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据,可以包括:服务器由所述目标选择器采用所述目标处理方案,从所述目标类待抓取页面对应的爬虫数据集合包括的各页面中识别出所述目标字段信息对应的元素;当所述目标处理方案为提取类别下的任一处理方案时,将提取的所述目标字段信息对应的元素确定为目标数据。例如,该目标类待抓取页面为新闻详情页面,目标选择器为date-source span,该目标处理方案为文本提取,目标字段信息包括字段名称:新闻时间、字段变量:date,则服务器可以由date-sourcespan采用文本提取的方式,从新闻详情页面对应的爬虫数据集合包括的各页面中识别出新闻时间和date对应的信息(如日期:2018年3月15日)。
在一个实施例中,服务器还可以当所述目标处理方案为操作类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并将下载的所述链接页面确定为目标数据。在一个应用场景中,由于某些元素被触发,如被点击时,可以跳转至指向的链接页面。通过操作类别下的任一处理方案,可以模拟相应元素被触发的过程。在一个实施例中,服务器还可以当所述目标处理方案为下载类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并下载所述链接页面包括的可下载数据,将下载的所述可下载数据确定为目标数据。其中,该可下载数据是指该链接页面上可以下载的数据,包括但不限于该链接页面可以下载的视频、文件、图片等数据。
在一个实施例中,该目标解析规则还可以包括目标脚本信息。服务器可以根据该目标脚本信息对该目标字段信息对应的元素进行处理,得到处理后的元素,并将该处理后的元素确定为目标数据。服务器还可以根据目标脚本信息对该链接页面进行处理,得到处理后的该链接页面,并将该处理后的该链接页面确定为目标数据。服务器还可以根据该目标脚本信息对可下载数据进行处理,得到处理后该可下载数据,并将处理后的该可下载数据确定为目标数据。
在一个实施例中,上述第五配置记录还可以包括发布模式,该发布模式可以包括抓取&发布模式和手动发布模式。若该任务启动指令包括第四配置记录和第五配置记录,且第四配置记录包括发布接口的信息(如地址),第五配置记录包括抓取&发布模式,服务器可以根据该发布接口的信息调用该发布接口将目标数据发送到其它设备。通过设置发布接口,能够更好的适配不同业务场景的需求。若该第四配置记录包括发布接口的信息且该第五配置记录包括手动发布模式,则服务器可以在接收到终端发送的数据发布请求时,根据该发布接口的信息调用该发布接口将目标数据发送到其它设备。在一个实施例中,服务器还可以当接收到终端发送的数据查询请求时,将该目标数据发送至终端。
可见,图1所示的实施例中,服务器可以接收终端发送的对指定抓取任务的任务启动指令,并根据该任务启动指令包括的配置记录执行爬虫操作和页面解析操作,以得到目标数据,从而能够使得爬虫过程更具针对性,提升了可扩展性,提升了爬虫效率。
请参阅图9,为本申请实施例中提供的另一种爬虫处理方法的流程示意图。其中,该方法可以应用于服务器。具体的,该方法可以包括以下步骤:
S901、接收终端发送的对指定抓取任务的任务启动指令,所述任务启动指令包括所述指定抓取任务的第一配置记录、第二配置记录、第三配置记录,所述第一配置记录包括种子信息,所述第二配置记录包括针对至少一类待抓取页面中每类待抓取页面设置的爬虫配置信息,所述第三配置记录包括所述每类待抓取页面对应的解析规则。
S902、根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,每类待抓取页面对应的所述爬虫数据集合包括属于该类待抓取页面的页面。
其中,步骤S901和步骤S902可以参见步骤S101和步骤S102,本申请实施例在此不做赘述。
S903、当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在包括所述错误标签的页面,如果存在,则删除所述包括所述错误标签的页面。
本申请实施例中,服务器可以当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在包括所述错误标签的页面,如果存在,则删除所述包括所述错误标签的页面。通过删除包括错误标签的页面,使得获取的目标数据更加准确可靠,避免对无用页面或错误页面的解析。其中,所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面。
在一个实施例中,服务器还可以当所述目标类待抓取页面对应的爬虫配置信息包括预设的正确标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在不包括所述正确标签的页面,如果存在,则删除所述不包括所述正确标签的页面。与删除包括错误标签的页面一样,删除不包括正确标签的页面,可以使得获取的目标数据更加准确可靠,避免对无用页面或错误页面的解析。
S904、根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的执行删除操作后的爬虫数据集合包括的各页面中解析出目标数据。
本申请实施例中,服务器可以根据所述每类待抓取页面对应的解析地址,从所述每类待抓取页面对应的执行删除操作后的爬虫数据集合包括的各页面中解析出目标数据,提升了爬虫过程的可扩展性。
在一个实施例中,所述至少一类待抓取页面可以包括目标类待抓取页面,所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面,所述目标类待抓取页面对应的解析规则包括目标处理方案、目标字段信息和目标处理器。
在一个实施例中,服务器根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的执行删除操作后的爬虫数据集合包括的各页面中解析出目标数据,可以包括:服务器由所述目标选择器采用所述目标处理方案,从目标类待抓取页面对应的执行删除操作后的爬虫数据集合包括的各页面中识别出所述目标字段信息对应的元素;当所述目标处理方案为提取类别下的任一处理方案时,将提取的所述目标字段信息对应的元素确定为目标数据。例如,该目标类待抓取页面为新闻详情页面,目标选择器为date-sourcespan,该目标处理方案为文本提取,目标字段信息包括字段名称:新闻时间、字段变量:date,则服务器可以由date-source span采用文本提取的方式,从新闻详情页面对应的爬虫数据集合包括的各页面中识别出新闻时间和date对应的信息(如日期:2018年3月15日)。
在一个实施例中,服务器还可以当所述目标处理方案为操作类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并将下载的所述链接页面确定为目标数据。在一个应用场景中,由于某些元素被触发,如被点击时,可以跳转至指向的链接页面。通过操作类别下的任一处理方案,可以模拟相应元素被触发的过程。在一个实施例中,服务器还可以当所述目标处理方案为下载类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并下载所述链接页面包括的可下载数据,将下载的所述可下载数据确定为目标数据。其中,该可下载数据是指该链接页面上可以下载的数据,包括但不限于该链接页面可以下载的视频、文件、图片等数据。
在一个实施例中,该目标解析规则还可以包括目标脚本信息。服务器可以根据该目标脚本信息对该目标字段信息对应的元素进行处理,得到处理后的元素,并将该处理后的元素确定为目标数据。服务器还可以根据目标脚本信息对该链接页面进行处理,得到处理后的该链接页面,并将该处理后的该链接页面确定为目标数据。服务器还可以根据该目标脚本信息对可下载数据进行处理,得到处理后该可下载数据,并将处理后的该可下载数据确定为目标数据。
可见,图9所示的实施例中,服务器可以基于错误标签对爬虫数据集合执行页面删除操作,并可以根据每类待抓取页面对应的解析规则,从每类待抓取页面对应的执行删除操作后的爬虫数据集合包括的各页面中解析出目标数据,使得解析得到的目标数据更为精确可靠。
请参阅图10,为本申请实施例提供的一种爬虫处理系统的网络架构示意图。该爬虫处理系统可以包括终端10和服务器20。终端10和服务器20可以建议通信,其中:
终端10可以向服务器20发送对指定抓取任务的任务启动指令。服务器20通过执行步骤S101以接收终端发送的对指定抓取任务的任务启动指令,并可以通过执行步骤S102-S103以根据任务启动指令包括的配置记录执行爬虫操作和页面解析操作,以得到目标数据,从而使得爬虫过程更具针对性,提高了可扩展性,提升了爬虫效率。
请参阅图11,为本申请实施例提供的一种爬虫处理装置的结构示意图。其中,该爬虫处理装置可以应用于服务器。具体的,该装置可以包括:
接收单元1001,用于接收终端发送的对指定抓取任务的任务启动指令,所述任务启动指令包括所述指定抓取任务的第一配置记录、第二配置记录、第三配置记录,所述第一配置记录包括种子信息,所述第二配置记录包括针对至少一类待抓取页面中每类待抓取页面设置的爬虫配置信息,所述第三配置记录包括所述每类待抓取页面对应的解析规则。
爬虫单元1002,用于根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,每类待抓取页面对应的所述爬虫数据集合包括属于该类待抓取页面的页面.
解析单元1003,用于根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据。
在一种可选的实施方式中,爬虫单元1002,具体用于将所述种子信息包括的至少一个种子链接地址写入待抓取链接地址队列;从待抓取链接队列中取出写入时间最早的第一种子链接地址,访问并下载所述第一种子链接地址对应的页面,并将第一种子链接地址写入已抓取链接地址队列;基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述第一种子链接地址对应的页面中,匹配出属于该类待抓取页面的页面,并提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列;从所述待抓取链接地址队列中取出写入时间最早的目标链接地址,访问并下载所述目标链接地址对应的页面,并将所述目标链接地址写入已抓取链接地址队列;基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述目标链接地址对应的页面中,匹配出属于该类待抓取页面的页面,并提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列,重复执行所述从所述待抓取链接地址队列中取出写入时间最早的目标地址的步骤,直到满足预设条件时停止爬虫操作。
在一种可选的实施方式中,爬虫单元1002提取属于该类待抓取页面的页面中的链接地址,并将提取的链接地址写入所述待抓取链接地址队列,具体为提取属于该类待抓取页面的页面中的新增链接地址,并将提取的新增链接地址写入所述待抓取链接地址队列;所述新增链接地址是指未放入所述已抓取链接地址队列的地址。
在一种可选的实施方式中,所述预设条件包括以下至少一项:待抓取链接地址队列为空、抓取操作的运行时长为预设运行时长、已抓取链接地址队列中的链接地址的数量达到预设抓取数量、针对每类待抓取页面提取的新增链接地址的总量达到各自对应的最大发现量。
在一种可选的实施方式中,该爬虫处理装置还包括删除单元1004。
在一种可选的实施方式中,删除单元1004,用于在根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据之前,当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在包括所述错误标签的页面,如果存在,则删除所述包括所述错误标签的页面;所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面;或者,当所述目标类待抓取页面对应的爬虫配置信息包括预设的正确标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在不包括所述正确标签的页面,如果存在,则删除所述不包括所述正确标签的页面。
在一种可选的实施方式中,解析单元1003根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据,具体为根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的执行删除操作后的爬虫数据集合包括的各页面中解析出目标数据。
在一种可选的实施方式中,删除单元1004,还用于在所述提取属于该类待抓取页面的页面中的链接地址之前,当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,在匹配出属于所述目标类待抓取页面的页面之后,判断所述属于所述目标类待抓取页面的页面是否包括所述错误标签。
在一种可选的实施方式中,爬虫单元1002,提取属于该类待抓取页面的页面中的链接地址,具体为如果所述属于所述目标类待抓取页面的页面不包括所述错误标签,提取属于所述目标类待抓取页面的页面中的链接地址。
在一种可选的实施方式中,所述至少一类待抓取页面包括目标类待抓取页面,所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面,所述目标类待抓取页面对应的解析规则包括目标处理方案、目标字段信息和目标处理器。
在一种可选的实施方式中,解析单元1003根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据,具体为由所述目标选择器采用所述目标处理方案,从所述目标类待抓取页面对应的爬虫数据集合包括的各页面中识别出所述目标字段信息对应的元素;当所述目标处理方案为提取类别下的任一处理方案时,将提取的所述目标字段信息对应的元素确定为目标数据;当所述目标处理方案为操作类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并将下载的所述链接页面确定为目标数据;当所述目标处理方案为下载类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并下载所述链接页面包括的可下载数据,将下载的所述可下载数据确定为目标数据。
可见,图10所示的实施例中,爬虫处理装置可以接收终端发送的对指定抓取任务的任务启动指令,并可以根据任务启动指令包括的配置记录执行爬虫操作和页面解析操作,以得到目标数据,从而能够使得爬虫过程更具针对性,并可以提高可扩展性,提升爬虫效率。
请参阅图12,为本申请实施例提供的一种服务器的结构示意图。其中,本实施例中所描述的服务器可以包括:处理器2000、存储器2001、一个或多个输入设备2002。处理器2000、存储器2001、一个或多个输入设备2002之间可以通过总线或其它方式连接。在一个实施例中,该服务器还可以包括一个或多个输出设备2003。处理器2000、存储器2001、一个或多个输入设备2002和一个或多个输出设备2003之间可以通过总线或其它方式连接。输入设备2002和输出设备2003可以包括标准的有线或无线通信接口。
处理器2000可以是中央处理模块(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器2001可以是高速RAM存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。存储器2001用于存储一组程序代码,处理器2000、输入设备2002和输出设备2003可以调用存储器2001中存储的程序代码。具体地:
处理器2000,用于通过输入设备2002接收终端发送的对指定抓取任务的任务启动指令,所述任务启动指令包括所述指定抓取任务的第一配置记录、第二配置记录、第三配置记录,所述第一配置记录包括种子信息,所述第二配置记录包括针对至少一类待抓取页面中每类待抓取页面设置的爬虫配置信息,所述第三配置记录包括所述每类待抓取页面对应的解析规则;根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,每类待抓取页面对应的所述爬虫数据集合包括属于该类待抓取页面的页面;根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据。
可选地,处理器2000根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,具体为将所述种子信息包括的至少一个种子链接地址写入待抓取链接地址队列;从待抓取链接队列中取出写入时间最早的第一种子链接地址,访问并下载所述第一种子链接地址对应的页面,并将第一种子链接地址写入已抓取链接地址队列;基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述第一种子链接地址对应的页面中,匹配出属于该类待抓取页面的页面,并提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列;从所述待抓取链接地址队列中取出写入时间最早的目标链接地址,访问并下载所述目标链接地址对应的页面,并将所述目标链接地址写入已抓取链接地址队列;基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述目标链接地址对应的页面中,匹配出属于该类待抓取页面的页面,并提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列,重复执行所述从所述待抓取链接地址队列中取出写入时间最早的目标地址的步骤,直到满足预设条件时停止爬虫操作。
可选地,处理器2000提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列,具体为提取属于该类待抓取页面的页面中的新增链接地址,并将提取的新增链接地址写入所述待抓取链接地址队列;所述新增链接地址是指未放入所述已抓取链接地址队列的地址。
可选地,所述预设条件包括以下至少一项:待抓取链接地址队列为空、抓取操作的运行时长为预设运行时长、已抓取链接地址队列中的链接地址的数量达到预设抓取数量、针对每类待抓取页面提取的新增链接地址的总量达到各自对应的最大发现量。
可选地,处理器2000,还用于在根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据之前,当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在包括所述错误标签的页面,如果存在,则删除所述包括所述错误标签的页面;所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面;或者,当所述目标类待抓取页面对应的爬虫配置信息包括预设的正确标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在不包括所述正确标签的页面,如果存在,则删除所述不包括所述正确标签的页面。
可选地,处理器2000根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据,具体为根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的执行删除操作后的爬虫数据集合包括的各页面中解析出目标数据。
可选地,处理器2000,还用于在所述提取属于该类待抓取页面的页面中的链接地址之前,当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,在匹配出属于所述目标类待抓取页面的页面之后,判断所述属于所述目标类待抓取页面的页面是否包括所述错误标签;
可选地,处理器2000提取属于该类待抓取页面的页面中的链接地址,具体为如果所述属于所述目标类待抓取页面的页面不包括所述错误标签,提取属于所述目标类待抓取页面的页面中的链接地址。
可选地,所述至少一类待抓取页面包括目标类待抓取页面,所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面,所述目标类待抓取页面对应的解析规则包括目标处理方案、目标字段信息和目标处理器,处理器2000根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据,具体为由所述目标选择器采用所述目标处理方案,从所述目标类待抓取页面对应的爬虫数据集合包括的各页面中识别出所述目标字段信息对应的元素;当所述目标处理方案为提取类别下的任一处理方案时,将提取的所述目标字段信息对应的元素确定为目标数据;当所述目标处理方案为操作类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并将下载的所述链接页面确定为目标数据;当所述目标处理方案为下载类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并下载所述链接页面包括的可下载数据,将下载的所述可下载数据确定为目标数据。
具体实现中,本申请实施例中所描述的处理器2000、输入设备2002、输出设备2003可执行图1和图9实施例所描述的实现方式,也可执行本申请实施例所描述的实现方式,在此不再赘述。
在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采样硬件的形式实现,也可以采样软件功能模块的形式实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的介质为计算机可读存储介质,该计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。
Claims (10)
1.一种爬虫处理方法,其特征在于,包括:
接收终端发送的对指定抓取任务的任务启动指令,所述任务启动指令包括所述指定抓取任务的第一配置记录、第二配置记录、第三配置记录,所述第一配置记录包括种子信息,所述第二配置记录包括针对至少一类待抓取页面中每类待抓取页面设置的爬虫配置信息,所述第三配置记录包括所述每类待抓取页面对应的解析规则;
根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,每类待抓取页面对应的所述爬虫数据集合包括属于该类待抓取页面的页面;
根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,包括:
将所述种子信息包括的至少一个种子链接地址写入待抓取链接地址队列;
从待抓取链接队列中取出写入时间最早的第一种子链接地址,访问并下载所述第一种子链接地址对应的页面,并将第一种子链接地址写入已抓取链接地址队列;
基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述第一种子链接地址对应的页面中,匹配出属于该类待抓取页面的页面,并提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列;
从所述待抓取链接地址队列中取出写入时间最早的目标链接地址,访问并下载所述目标链接地址对应的页面,并将所述目标链接地址写入已抓取链接地址队列;
基于每类待抓取页面对应的爬虫配置信息包括的匹配规则,从所述目标链接地址对应的页面中,匹配出属于该类待抓取页面的页面,并提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列,重复执行所述从所述待抓取链接地址队列中取出写入时间最早的目标地址的步骤,直到满足预设条件时停止爬虫操作。
3.根据权利要求2所述的方法,其特征在于,所述提取属于该类待抓取页面的页面中的链接地址,将提取的链接地址写入所述待抓取链接地址队列,包括:
提取属于该类待抓取页面的页面中的新增链接地址,并将提取的新增链接地址写入所述待抓取链接地址队列;所述新增链接地址是指未放入所述已抓取链接地址队列的地址。
4.根据权利要求2所述的方法,其特征在于,所述预设条件包括以下至少一项:待抓取链接地址队列为空、抓取操作的运行时长为预设运行时长、已抓取链接地址队列中的链接地址的数量达到预设抓取数量、针对每类待抓取页面提取的新增链接地址的总量达到各自对应的最大发现量。
5.根据权利要求1所述的方法,其特征在于,在根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据之前,所述方法还包括:
当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在包括所述错误标签的页面,如果存在,则删除所述包括所述错误标签的页面;所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面;或者,
当所述目标类待抓取页面对应的爬虫配置信息包括预设的正确标签时,判断所述目标类待抓取页面对应的爬虫数据集合中是否存在不包括所述正确标签的页面,如果存在,则删除所述不包括所述正确标签的页面;
所述根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据,包括:
根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的执行删除操作后的爬虫数据集合包括的各页面中解析出目标数据。
6.根据权利要求2所述的方法,其特征在于,在所述提取属于该类待抓取页面的页面中的链接地址之前,所述方法还包括:
当所述至少一类待抓取页面中目标类待抓取页面对应的爬虫配置信息包括预设的错误标签时,在匹配出属于所述目标类待抓取页面的页面之后,判断所述属于所述目标类待抓取页面的页面是否包括所述错误标签;
所述提取属于该类待抓取页面的页面中的链接地址,包括:
如果所述属于所述目标类待抓取页面的页面不包括所述错误标签,提取属于所述目标类待抓取页面的页面中的链接地址。
7.根据权利要求1所述的方法,其特征在于,所述至少一类待抓取页面包括目标类待抓取页面,所述目标类待抓取页面为所述至少一类待抓取页面中的任一待抓取页面,所述目标类待抓取页面对应的解析规则包括目标处理方案、目标字段信息和目标处理器,
所述根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据,包括:
由所述目标选择器采用所述目标处理方案,从所述目标类待抓取页面对应的爬虫数据集合包括的各页面中识别出所述目标字段信息对应的元素;
当所述目标处理方案为提取类别下的任一处理方案时,将提取的所述目标字段信息对应的元素确定为目标数据;
当所述目标处理方案为操作类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并将下载的所述链接页面确定为目标数据;
当所述目标处理方案为下载类别下的任一处理方案时,访问所述目标字段信息对应的元素指向的链接页面,并下载所述链接页面包括的可下载数据,将下载的所述可下载数据确定为目标数据。
8.一种爬虫处理装置,其特征在于,包括:
接收单元,用于接收终端发送的对指定抓取任务的任务启动指令,所述任务启动指令包括所述指定抓取任务的第一配置记录、第二配置记录、第三配置记录,所述第一配置记录包括种子信息,所述第二配置记录包括针对至少一类待抓取页面中每类待抓取页面设置的爬虫配置信息,所述第三配置记录包括所述每类待抓取页面对应的解析规则;
爬虫单元,用于根据所述种子信息和所述每类待抓取页面的爬虫配置信息执行爬虫操作,得到所述每类待抓取页面对应的爬虫数据集合,每类待抓取页面对应的所述爬虫数据集合包括属于该类待抓取页面的页面;
解析单元,用于根据所述每类待抓取页面对应的解析规则,从所述每类待抓取页面对应的爬虫数据集合包括的各页面中解析出目标数据。
9.一种服务器,其特征在于,包括处理器、存储器和输入设备,所述处理器、所述存储器和所述输入设备之间相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910965767.0A CN110851681A (zh) | 2019-10-12 | 2019-10-12 | 爬虫处理方法、装置、服务器及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910965767.0A CN110851681A (zh) | 2019-10-12 | 2019-10-12 | 爬虫处理方法、装置、服务器及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110851681A true CN110851681A (zh) | 2020-02-28 |
Family
ID=69596142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910965767.0A Pending CN110851681A (zh) | 2019-10-12 | 2019-10-12 | 爬虫处理方法、装置、服务器及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851681A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800305A (zh) * | 2021-01-12 | 2021-05-14 | 厦门渊亭信息科技有限公司 | 一种基于网络爬虫的知识图谱数据抽取方法及装置 |
CN113065055A (zh) * | 2021-04-21 | 2021-07-02 | 平安国际智慧城市科技股份有限公司 | 新闻资讯抓取方法、装置、电子设备及存储介质 |
CN113343159A (zh) * | 2021-08-06 | 2021-09-03 | 万商云集(成都)科技股份有限公司 | 一种从任意渠道快速获取数据并分析与存储的方法及系统 |
CN113934912A (zh) * | 2021-11-11 | 2022-01-14 | 北京搜房科技发展有限公司 | 数据爬取方法及装置、存储介质及电子设备 |
CN114826956A (zh) * | 2022-03-30 | 2022-07-29 | 杭州迪普科技股份有限公司 | 用于dpi测试设备的dpi策略库文件自动生成方法和装置 |
CN115730150A (zh) * | 2022-12-09 | 2023-03-03 | 广州富莱星科技有限公司 | 一种数据抓取方法、系统、设备及可存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999549A (zh) * | 2012-09-25 | 2013-03-27 | 金博 | 一种实现网络爬虫任务的方法 |
CN106354843A (zh) * | 2016-08-31 | 2017-01-25 | 虎扑(上海)文化传播股份有限公司 | 网络爬虫系统以及方法 |
CN107066576A (zh) * | 2017-04-12 | 2017-08-18 | 成都四方伟业软件股份有限公司 | 一种大数据网络爬虫分页选择方法和系统 |
CN107885777A (zh) * | 2017-10-11 | 2018-04-06 | 北京智慧星光信息技术有限公司 | 一种基于协作式爬虫的抓取网页数据的控制方法及系统 |
CN110020062A (zh) * | 2019-04-12 | 2019-07-16 | 北京邮电大学 | 一种可定制的网络爬虫方法及系统 |
-
2019
- 2019-10-12 CN CN201910965767.0A patent/CN110851681A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999549A (zh) * | 2012-09-25 | 2013-03-27 | 金博 | 一种实现网络爬虫任务的方法 |
CN106354843A (zh) * | 2016-08-31 | 2017-01-25 | 虎扑(上海)文化传播股份有限公司 | 网络爬虫系统以及方法 |
CN107066576A (zh) * | 2017-04-12 | 2017-08-18 | 成都四方伟业软件股份有限公司 | 一种大数据网络爬虫分页选择方法和系统 |
CN107885777A (zh) * | 2017-10-11 | 2018-04-06 | 北京智慧星光信息技术有限公司 | 一种基于协作式爬虫的抓取网页数据的控制方法及系统 |
CN110020062A (zh) * | 2019-04-12 | 2019-07-16 | 北京邮电大学 | 一种可定制的网络爬虫方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800305A (zh) * | 2021-01-12 | 2021-05-14 | 厦门渊亭信息科技有限公司 | 一种基于网络爬虫的知识图谱数据抽取方法及装置 |
CN113065055A (zh) * | 2021-04-21 | 2021-07-02 | 平安国际智慧城市科技股份有限公司 | 新闻资讯抓取方法、装置、电子设备及存储介质 |
CN113065055B (zh) * | 2021-04-21 | 2024-04-02 | 深圳赛安特技术服务有限公司 | 新闻资讯抓取方法、装置、电子设备及存储介质 |
CN113343159A (zh) * | 2021-08-06 | 2021-09-03 | 万商云集(成都)科技股份有限公司 | 一种从任意渠道快速获取数据并分析与存储的方法及系统 |
CN113343159B (zh) * | 2021-08-06 | 2021-11-12 | 万商云集(成都)科技股份有限公司 | 一种从任意渠道快速获取数据并分析与存储的方法及系统 |
CN113934912A (zh) * | 2021-11-11 | 2022-01-14 | 北京搜房科技发展有限公司 | 数据爬取方法及装置、存储介质及电子设备 |
CN114826956A (zh) * | 2022-03-30 | 2022-07-29 | 杭州迪普科技股份有限公司 | 用于dpi测试设备的dpi策略库文件自动生成方法和装置 |
CN114826956B (zh) * | 2022-03-30 | 2023-05-26 | 杭州迪普科技股份有限公司 | 用于dpi测试设备的dpi策略库文件自动生成方法和装置 |
CN115730150A (zh) * | 2022-12-09 | 2023-03-03 | 广州富莱星科技有限公司 | 一种数据抓取方法、系统、设备及可存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107895009B (zh) | 一种基于分布式的互联网数据采集方法及系统 | |
CN110851681A (zh) | 爬虫处理方法、装置、服务器及计算机可读存储介质 | |
CN108304498B (zh) | 网页数据采集方法、装置、计算机设备和存储介质 | |
US9614862B2 (en) | System and method for webpage analysis | |
US6910071B2 (en) | Surveillance monitoring and automated reporting method for detecting data changes | |
US9203720B2 (en) | Monitoring the health of web page analytics code | |
CN107463641B (zh) | 用于改进对搜索结果的访问的系统和方法 | |
US8996682B2 (en) | Automatically instrumenting a set of web documents | |
US8424004B2 (en) | High performance script behavior detection through browser shimming | |
US20170199850A1 (en) | Method and system to decrease page load time by leveraging network latency | |
CN106897215A (zh) | 一种基于WebView网页加载性能及用户行为流数据采集的方法 | |
CN109376291B (zh) | 一种基于网络爬虫的网站指纹信息扫描的方法及装置 | |
JP2008521147A (ja) | アプリケーションクローラの方法及び装置 | |
US10536363B2 (en) | Synthetic testing of web applications using instrumented monitoring agents | |
CN112637361B (zh) | 一种页面代理方法、装置、电子设备及存储介质 | |
CN111177519B (zh) | 网页内容获取方法、装置、存储介质及设备 | |
CN103177115A (zh) | 一种提取网页页面链接的方法和装置 | |
CN106598991A (zh) | 一种使用会话方式实现与网站交互表单自动提取的网络爬虫系统 | |
CN113742551A (zh) | 一种基于scrapy和puppeteer的动态数据抓取方法 | |
WO2021189766A1 (zh) | 数据可视化方法及相关设备 | |
CN113590985B (zh) | 页面跳转配置方法、装置、电子设备和计算机可读介质 | |
CN113515715B (zh) | 埋点事件编码的生成方法、处理方法及相关设备 | |
Panum et al. | Kraaler: A user-perspective web crawler | |
Conti et al. | Spot the difference: Your bucket is leaking: A novel methodology to expose A/B testing effortlessly | |
CN112464242A (zh) | 一种网页平台漏洞采集方法、系统、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |