CN106789392A - 一种监控网络爬虫的方法、装置和系统 - Google Patents

一种监控网络爬虫的方法、装置和系统 Download PDF

Info

Publication number
CN106789392A
CN106789392A CN201611025201.2A CN201611025201A CN106789392A CN 106789392 A CN106789392 A CN 106789392A CN 201611025201 A CN201611025201 A CN 201611025201A CN 106789392 A CN106789392 A CN 106789392A
Authority
CN
China
Prior art keywords
url
web crawlers
crawl
sub
outside
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
Application number
CN201611025201.2A
Other languages
English (en)
Inventor
邱继钊
王洪添
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Cloud Service Information Technology Co Ltd
Original Assignee
Shandong Inspur Cloud Service Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Cloud Service Information Technology Co Ltd filed Critical Shandong Inspur Cloud Service Information Technology Co Ltd
Priority to CN201611025201.2A priority Critical patent/CN106789392A/zh
Publication of CN106789392A publication Critical patent/CN106789392A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种监控网络爬虫的方法、装置和系统,该方法包括:通过监控外部的网络爬虫,当监控到外部的网络爬虫运行时,记录外部的网络爬虫产生的抓取痕迹,通过将网络爬虫产生的抓取痕迹与预设的抓取规则进行比对,根据对比结果,能够确定外部的网络爬虫的运行状态。由于该监控网络爬虫的方法能够将网络爬虫的抓取痕迹与预设的抓取规则进行比对,判断出网络爬虫的运行状态,从而实现了对网络爬虫的工作状态的监控。

Description

一种监控网络爬虫的方法、装置和系统
技术领域
本发明涉及计算机技术领域,特别涉及一种监控网络爬虫的方法、装置和系统。
背景技术
网络爬虫是一种抓取网页的程序。网络爬虫通过网页的链接地址来寻找网页,例如:从网站某一个页面(通常是首页)开始,读取该页面的内容,并且找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。
有的时候,网络爬虫需要抓取的数据可达数千万,面对这样大的抓取平台,在每一个环节,如网页下载、URL(Uniform Resource Locator,统一资源定位符)解析、内容抽取都可能出现运行异常的问题,比如在网页下载的过程中,由于网络的原因会造成网页下载不完全等异常情况。然而目前,并没有一个对网络爬虫的工作状态进行监控的方案。
发明内容
本发明实施例提供了一种监控网络爬虫的方法、装置和系统,实现了对网络爬虫的工作状态的监控。
第一方面,本发明实施例提供了一种监控网络爬虫的方法,该方法包括:监控外部的网络爬虫;
当监控到所述外部的网络爬虫运行时,记录所述外部的网络爬虫产生的抓取痕迹;
将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态。
优选地,所述记录所述外部的网络爬虫产生的抓取痕迹,包括:
S1:记录所述外部的网络爬虫确定的入口URL;
S2:记录所述外部的网络爬虫从所述入口URL中提取的至少一个父URL;
S3:记录所述外部的网络爬虫从每一个所述父URL中提取的至少一个子URL;
S4:将所述至少一个子URL中每一个所述子URL作为当前子URL,判断所述当前子URL是否为叶子URL,若是,记录所述外部的网络爬虫从所述当前子URL中抓取的目标数据,否则,将所述当前子URL作为父URL,执行S3。
优选地,当所述抓取痕迹包括URL的数量时,
所述将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态,包括:
统计所述父URL的数量,以及每一个所述父URL对应的所述子URL的数量;
将统计的所述父URL的数量,以及所述子URL的数量,分别与所述预设的抓取规则对应的目标数量进行比对,判断所述父URL的数量与所述子URL的数量与所述目标数量是否一致,若是,确定所述网络爬虫的网页下载工作状态正常,否则,确定所述网络爬虫的网页下载工作状态异常。
优选地,当所述抓取痕迹包括URL解析时,所述将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态,包括:
将每一个所述父URL对应的每一个所述子URL的抓取对应关系,与所述预设的抓取规则对应的目标抓取对应关系进行比对,判断所述抓取对应关系与所述目标抓取对应关系是否一致,若是,确定所述网络爬虫的URL解析工作状态正常,否则,确定所述网络爬虫的URL解析工作状态异常。
优选地,当所述抓取痕迹包括内容抽取时,
所述将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态,包括:
将所述网络爬虫抓取的目标数据,与所述预设的抓取规则对应的目标抓取数据进行比对,判断所述目标数据与所述目标抓取数据是否一致,若是,确定所述网络爬虫的内容抽取工作状态正常,否则,确定所述网络爬虫的内容抽取工作状态异常。
第二方面,本发明实施例提供了一种监控网络爬虫的装置,该监控网络爬虫的装置包括:监控单元、记录单元和处理单元,其中,
所述监控单元,用于监控外部的网络爬虫;
所述记录单元,用于当监控到所述外部的网络爬虫运行时,记录所述外部的网络爬虫产生的抓取痕迹;
所述处理单元,用于将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态。
优选地,所述记录单元包括:第一记录子单元、第二记录子单元、第三记录子单元和判断子单元,其中,
所述第一记录子单元,用于记录所述外部的网络爬虫确定的入口URL;
所述第二记录子单元,用于记录所述外部的网络爬虫从所述入口URL中提取的至少一个父URL;
所述第三记录子单元,用于记录所述外部的网络爬虫从每一个所述父URL中提取的至少一个子URL;
所述判断子单元,用于将所述至少一个子URL中每一个所述子URL作为当前子URL,判断所述当前子URL是否为叶子URL,若是,记录所述外部的网络爬虫从所述当前子URL中抓取的目标数据,否则,将所述当前子URL作为父URL,并触发所述第三记录子单元。
优选地,当所述抓取痕迹包括URL的数量时,
所述处理单元,具体用于统计所述父URL的数量,以及每一个所述父URL对应的所述子URL的数量,将统计的所述父URL的数量,以及所述子URL的数量,分别与所述预设的抓取规则对应的目标数量进行比对,判断所述父URL的数量与所述子URL的数量与所述目标数量是否一致,若是,确定所述网络爬虫的网页下载工作状态正常,否则,确定所述网络爬虫的网页下载工作状态异常。
优选地,当所述抓取痕迹包括URL解析时,
所述处理单元,具体用于将每一个所述父URL对应的每一个所述子URL的抓取对应关系,与所述预设的抓取规则对应的目标抓取对应关系进行比对,判断所述抓取对应关系与所述目标抓取对应关系是否一致,若是,确定所述网络爬虫的URL解析工作状态正常,否则,确定所述网络爬虫的URL解析工作状态异常。
优选地,当所述抓取痕迹包括内容抽取时,
所述处理单元,具体用于将所述网络爬虫抓取的目标数据,与所述预设的抓取规则对应的目标抓取数据进行比对,判断所述目标数据与所述目标抓取数据是否一致,若是,确定所述网络爬虫的内容抽取工作状态正常,否则,确定所述网络爬虫的内容抽取工作状态异常。
第三方面,本发明实施例提供了一种监控网络爬虫的系统,该监控网络爬虫的系统包括:至少一个网络爬虫和权利要求6至9中任一所述的监控网络爬虫的装置。
本发明实施例提供了一种监控网络爬虫的方法、装置和系统,通过监控外部的网络爬虫,当监控到外部的网络爬虫运行时,记录外部的网络爬虫产生的抓取痕迹,通过将网络爬虫产生的抓取痕迹与预设的抓取规则进行比对,根据对比结果,能够确定外部的网络爬虫的运行状态。由于该监控网络爬虫的方法能够将网络爬虫的抓取痕迹与预设的抓取规则进行比对,判断出网络爬虫的运行状态,从而实现了对网络爬虫的工作状态的监控。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种监控网络爬虫的方法的流程图;
图2是本发明一个实施例提供的一种不同URL之间对应关系的关系图;
图3是本发明一个实施例提供的另一种监控网络爬虫的方法的流程图;
图4是本发明一个实施例提供的一种监控网络爬虫的装置的结构示意图;
图5是本发明一个实施例提供的另一种监控网络爬虫的装置的结构示意图;
图6是本发明一个实施例提供的一种监控网络爬虫的系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种监控网络爬虫的方法,该方法可以包括以下步骤:
步骤101:监控外部的网络爬虫。
步骤102:当监控到所述外部的网络爬虫运行时,记录所述外部的网络爬虫产生的抓取痕迹。
步骤103:将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态。
在图1所示的实施例中,通过监控外部的网络爬虫,当监控到外部的网络爬虫运行时,记录外部的网络爬虫产生的抓取痕迹,通过将网络爬虫产生的抓取痕迹与预设的抓取规则进行比对,根据对比结果,能够确定外部的网络爬虫的运行状态。由于该监控网络爬虫的方法能够将网络爬虫的抓取痕迹与预设的抓取规则进行比对,判断出网络爬虫的运行状态,从而实现了对网络爬虫的工作状态的监控。
在本发明一个实施例中,为了能够监控网络爬虫抓取过程中多种工作状态的运行情况,所述记录所述外部的网络爬虫产生的抓取痕迹,包括:
S1:记录所述外部的网络爬虫确定的入口URL;
S2:记录所述外部的网络爬虫从所述入口URL中提取的至少一个父URL;
S3:记录所述外部的网络爬虫从每一个所述父URL中提取的至少一个子URL;
S4:将所述至少一个子URL中每一个所述子URL作为当前子URL,判断所述当前子URL是否为叶子URL,若是,记录所述外部的网络爬虫从所述当前子URL中抓取的目标数据,否则,将所述当前子URL作为父URL,执行S3。
在该实施例中,网络爬虫对完整的数据抓取过程可以分为三大步:网页下载、URL解析、内容抽取。通过记录网络爬虫完整的数据抓取过程,可以对网络爬虫的抓取过程进行完整的监控。
值得说明的是,记录到子URL,与子URL对应的父URL及对应深度、URL类型可以一起存入到Kafka中。此时,Kafka除了可以作为消息系统使用外,也可以作为分布式数据缓存及日志系统使用。同时,可以将存入到Kafka中的URL对应关系转存到HBase,为网络爬虫运行状态的分析做数据储备。非结构化数据存储抓取获得的原始数据、部分运算挖掘结果,及系统日志,按具体情况可以选择性的使用分布式日志、HDFS(Hadoop Distributed FileSystem,分布式文件系统)、Cassandra、MongoDB等NoSQL(Not Only SQL,非关系型数据库)方案进行存储。该实施例还可以采用Highcharts对数据进行展示。Highcharts是一个用纯JavaScript编写的一个图表库,能够很简单便捷的在web网站或是web应用程序添加有交互性的图表。Highcharts支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表。
在本发明一个实施例中,为了监控网络爬虫网页下载的运行状况,当所述抓取痕迹包括URL的数量时,所述将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态,包括:
统计所述父URL的数量,以及每一个所述父URL对应的所述子URL的数量;
将统计的所述父URL的数量,以及所述子URL的数量,分别与所述预设的抓取规则对应的目标数量进行比对,判断所述父URL的数量与所述子URL的数量与所述目标数量是否一致,若是,确定所述网络爬虫的网页下载工作状态正常,否则,确定所述网络爬虫的网页下载工作状态异常。
在该实施例中,通过统计父URL的数量和子URL的数量,能够确定网络爬虫的网页下载量,并且可以知道下载的网页类型的总体分布、各类型网页各时间点的下载量及所有下载网页。同时,可以利用展示工具查看导航页、列表页、详情页的下载占比是否正常,通常情况下下载占比为导航页最小,列表页次之,详情页最多。
在本发明一个实施例中,为了监控网络爬虫URL解析的运行状况,当所述抓取痕迹包括URL解析时,所述将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态,包括:
将每一个所述父URL对应的每一个所述子URL的抓取对应关系,与所述预设的抓取规则对应的目标抓取对应关系进行比对,判断所述抓取对应关系与所述目标抓取对应关系是否一致,若是,确定所述网络爬虫的URL解析工作状态正常,否则,确定所述网络爬虫的URL解析工作状态异常。
在该实施例中,可以根据父URL与子URL之间的对应关系,对网络爬虫的URL解析工作状态进行监控。例如,URLA为父URL,而预设的抓取规则是在URLA中需要抓取的子URL为3个,分别是URLa1、URLa2、URLa3,若实际抓取到的子URL为URLa1、URLa2,则代表网络爬虫少抓取了一个子URL,网络爬虫的URL解析工作状态异常,同样若实际抓取到的子URL为是URLa1、URLa2、URLb3,则代表网络爬虫抓取了一个错误的子URL,网络爬虫的URL解析工作状态异常,同样实际抓取到的子URL为URLa1、URLa2、URLa3、URLa4或URLa1、URLb2、URLa3、URLa4等等,均与预设的抓取规则不同,均说明网络爬虫的URL解析工作状态异常。
值得说明的是,入口URL、父URL以及子URL的对应关系可以参考图2。在入口URL中抓取两个URL,分别是URLA和URLB,并且作为当前的父URL,从父URLA中抓取n个子URL,分别是URLA1、URLA2、…、URLAn,从父URLB中抓取m个子URL,分别是URLB1、…、URLBm。图2所示的对应关系只是其中一种对应关系,可以还有其他对应关系。
在本发明一个实施例中,为了监控网络爬虫内容抽取的运行状况,当所述抓取痕迹包括内容抽取时,所述将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态,包括:
将所述网络爬虫抓取的目标数据,与所述预设的抓取规则对应的目标抓取数据进行比对,判断所述目标数据与所述目标抓取数据是否一致,若是,确定所述网络爬虫的内容抽取工作状态正常,否则,确定所述网络爬虫的内容抽取工作状态异常。
在该实施例中,目标数据可以是结构化数据,例如:抓取的目标数据是10.00000,而预设的抓取规则对应的目标抓取数据是10.0,则说明网络爬虫抓取的目标数据质量有问题,网络爬虫的内容抽取工作状态异常。
如图3所示,本发明实施例提供了一种监控网络爬虫的方法,该方法可以包括以下步骤:
步骤301:监控外部的网络爬虫。
步骤302:当监控到外部的网络爬虫运行时,记录外部的网络爬虫确定的入口URL。
在该步骤中,入口URL就是网络爬虫开始抓取的起点。
步骤303:记录外部的网络爬虫从入口URL中提取的至少一个父URL。
在该步骤中,由提取规则决定网络爬虫从入口URL中提取父URL的个数、类型等。
步骤304:记录外部的网络爬虫从每一个父URL中提取的至少一个子URL。
在该步骤中,由提取规则决定网络爬虫从父URL中提取子URL的个数、类型等。
步骤305:将至少一个子URL中每一个子URL作为当前子URL,判断当前子URL是否为叶子URL,若是,执行步骤306,否则,执行步骤307。
步骤306:记录外部的网络爬虫从当前子URL中抓取的目标数据。
步骤307:将所述当前子URL作为父URL,并执行步骤304。
步骤308:将统计的父URL的数量,以及子URL的数量,分别与预设的抓取规则对应的目标数量进行比对,判断父URL的数量与子URL的数量与目标数量是否一致,若是,执行步骤309,否则,执行步骤312。
在该步骤中,判断网络爬虫的网页下载运行状态是否正常。例如:统计的父URL为10个,每个父URL对应的子URL为40个,而预设的抓取规则对应的父URL为10个,每个父URL对应的子URL为50个,显而易见,统计的父URL的数量,以及子URL的数量与预设的抓取规则对应的目标数量不一致,则执行步骤312。若预设的抓取规则对应的父URL为10个,每个父URL对应的子URL为40个,显而易见,统计的父URL的数量,以及子URL的数量与预设的抓取规则对应的目标数量一致,则执行步骤309。
步骤309:将每一个父URL对应的每一个子URL的抓取对应关系,与预设的抓取规则对应的目标抓取对应关系进行比对,判断抓取对应关系与目标抓取对应关系是否一致,若是执行步骤310,否则,执行步骤312。
在该步骤中,判断网络爬虫的URL解析运行状态是否正常。例如:预设的抓取规则对应的目标抓取对应关系为父URLA对应6个子URL,分别是URLA1、URLA2、…、URLA6,但是在实际网络爬虫运行时,父URLA对应的子URL为4个,分别是URLA2、URLA3、URLA5、URLA6,显然抓取对应关系与目标抓取对应关系不一致,则执行步骤312,若在实际网络爬虫运行时,父URLA对应的子URL为6个,分别是URLA1、URLA2、…、URLA6,此时抓取对应关系与目标抓取对应关系一致,则执行步骤310。
步骤310:将网络爬虫抓取的目标数据,与预设的抓取规则对应的目标抓取数据进行比对,判断目标数据与目标抓取数据是否一致,若是,执行步骤311,否则,执行步骤312。
在该步骤中,判断网络爬虫的内容抽取运行状态是否正常。例如:预设的抓取规则对应的目标抓取数据是10.0,而抓取的目标数据是10.00000,此时目标数据与目标抓取数据不一致,执行步骤312,若抓取的目标数据是10.0,此时目标数据与目标抓取数据一致,执行步骤311。
步骤311:确定网络爬虫的工作状态正常,并结束当前流程。
步骤312:确定网络爬虫的工作状态异常。
如图4所示,本发明实施例提供了一种监控网络爬虫的装置,该监控网络爬虫的装置可以包括:监控单元401、记录单元402和处理单元403,其中,
所述监控单元401,用于监控外部的网络爬虫;
所述记录单元402,用于当监控到所述外部的网络爬虫运行时,记录所述外部的网络爬虫产生的抓取痕迹;
所述处理单元403,用于将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态。
在图4所示的实施例中,通过监控单元监控外部的网络爬虫,记录单元当监控到外部的网络爬虫运行时,记录外部的网络爬虫产生的抓取痕迹,处理单元通过将网络爬虫产生的抓取痕迹与预设的抓取规则进行比对,根据对比结果,能够确定外部的网络爬虫的运行状态。由于该监控网络爬虫的装置能够将网络爬虫的抓取痕迹与预设的抓取规则进行比对,判断网络爬虫的运行状态,从而实现了对网络爬虫的工作状态的监控。
如图5所示,在本发明一个实施例中,为了能够监控网络爬虫抓取过程中多种工作状态的运行情况,所述记录单元402包括:第一记录子单元4021、第二记录子单元4022、第三记录子单元4023和判断子单元4024,其中,
所述第一记录子单元4021,用于记录所述外部的网络爬虫确定的入口URL;
所述第二记录子单元4022,用于记录所述外部的网络爬虫从所述入口URL中提取的至少一个父URL;
所述第三记录子单元4023,用于记录所述外部的网络爬虫从每一个所述父URL中提取的至少一个子URL;
所述判断子单元4024,用于将所述至少一个子URL中每一个所述子URL作为当前子URL,判断所述当前子URL是否为叶子URL,若是,记录所述外部的网络爬虫从所述当前子URL中抓取的目标数据,否则,将所述当前子URL作为父URL,并触发所述第三记录子单元4023。
在该实施例中,网络爬虫对完整的数据抓取过程可以分为三大步:网页下载、URL解析、内容抽取。通过记录网络爬虫完整的数据抓取过程,可以对网络爬虫的抓取过程进行完整的监控。
在本发明一个实施例中,为了监控网络爬虫网页下载的运行状况,当所述抓取痕迹包括URL的数量时,所述处理单元,具体用于统计所述父URL的数量,以及每一个所述父URL对应的所述子URL的数量;及将统计的所述父URL的数量,以及所述子URL的数量,分别与所述预设的抓取规则对应的目标数量进行比对,判断所述父URL的数量与所述子URL的数量与所述目标数量是否一致,若是,确定所述网络爬虫的网页下载工作状态正常,否则,确定所述网络爬虫的网页下载工作状态异常。
在本发明一个实施例中,为了监控网络爬虫URL解析的运行状况,当所述抓取痕迹包括URL解析时,所述处理单元,具体用于将每一个所述父URL对应的每一个所述子URL的抓取对应关系,与所述预设的抓取规则对应的目标抓取对应关系进行比对,判断所述抓取对应关系与所述目标抓取对应关系是否一致,若是,确定所述网络爬虫的URL解析工作状态正常,否则,确定所述网络爬虫的URL解析工作状态异常。
在本发明一个实施例中,为了监控网络爬虫内容抽取的运行状况,当所述抓取痕迹包括内容抽取时,所述处理单元,具体用于将所述网络爬虫抓取的目标数据,与所述预设的抓取规则对应的目标抓取数据进行比对,判断所述目标数据与所述目标抓取数据是否一致,若是,确定所述网络爬虫的内容抽取工作状态正常,否则,确定所述网络爬虫的内容抽取工作状态异常。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
如图6所示,本发明实施例提供了一种监控网络爬虫的系统,该监控网络爬虫的系统可以包括:至少一个网络爬虫601和上述任一所述的监控网络爬虫的装置602。
在该实施例中,网络爬虫的抓取策略可以是深度优先遍历策略、广度优先遍历策略、宽度优先遍历策略、反向链接数策略、大站优先策略等。
综上,本发明的各实施例,至少具有如下有益效果:
1、在本发明的实施例中,通过监控外部的网络爬虫,当监控到外部的网络爬虫运行时,记录外部的网络爬虫产生的抓取痕迹,通过将网络爬虫产生的抓取痕迹与预设的抓取规则进行比对,根据对比结果,能够确定外部的网络爬虫的运行状态。由于该监控网络爬虫的方法能够将网络爬虫的抓取痕迹与预设的抓取规则进行比对,判断出网络爬虫的运行状态,从而实现了对网络爬虫的工作状态的监控。
2、在本发明的实施例中,通过记录网络爬虫完整的数据抓取过程,包括:下载的网页类型总体分布、各类型网页各时间点的下载量、所有下载网页以及网页间的关系等,可以对网络爬虫的网页下载、URL解析、内容抽取等抓取过程进行完整的监控。
3、在本发明的实施例中,通过监控网络爬虫URL解析的运行状况,可以通过不同URL之间的对应关系,根据预设的抓取规则可以确定出网络爬虫进行抓取时少抓取、抓取错误等的问题。
4、在本发明的实施例中,通过监控网络爬虫的方法将不可见的抓取过程变的对用户可见,快速的帮助用户掌握抓取情况,发现少抓取URL等的问题,准确找到发生问题的原因,使得数据的抓取质量得到较大的提升,使数据的使用价值得到最大化。同时,用户可以对抓取任务进行实时监控,对出现的异常及时做出处理,避免不必要的时间消耗。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种监控网络爬虫的方法,其特征在于,包括:
监控外部的网络爬虫;
当监控到所述外部的网络爬虫运行时,记录所述外部的网络爬虫产生的抓取痕迹;
将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态。
2.根据权利要求1所述的方法,其特征在于,
所述记录所述外部的网络爬虫产生的抓取痕迹,包括:
S1:记录所述外部的网络爬虫确定的入口URL;
S2:记录所述外部的网络爬虫从所述入口URL中提取的至少一个父URL;
S3:记录所述外部的网络爬虫从每一个所述父URL中提取的至少一个子URL;
S4:将所述至少一个子URL中每一个所述子URL作为当前子URL,判断所述当前子URL是否为叶子URL,若是,记录所述外部的网络爬虫从所述当前子URL中抓取的目标数据,否则,将所述当前子URL作为父URL,执行S3。
3.根据权利要求2所述的方法,其特征在于,
当所述抓取痕迹包括URL的数量时,
所述将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态,包括:
统计所述父URL的数量,以及每一个所述父URL对应的所述子URL的数量;
将统计的所述父URL的数量,以及所述子URL的数量,分别与所述预设的抓取规则对应的目标数量进行比对,判断所述父URL的数量与所述子URL的数量与所述目标数量是否一致,若是,确定所述网络爬虫的网页下载工作状态正常,否则,确定所述网络爬虫的网页下载工作状态异常。
4.根据权利要求2所述的方法,其特征在于,
当所述抓取痕迹包括URL解析时,
所述将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态,包括:
将每一个所述父URL对应的每一个所述子URL的抓取对应关系,与所述预设的抓取规则对应的目标抓取对应关系进行比对,判断所述抓取对应关系与所述目标抓取对应关系是否一致,若是,确定所述网络爬虫的URL解析工作状态正常,否则,确定所述网络爬虫的URL解析工作状态异常。
5.根据权利要求2所述的方法,其特征在于,
当所述抓取痕迹包括内容抽取时,
所述将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态,包括:
将所述网络爬虫抓取的目标数据,与所述预设的抓取规则对应的目标抓取数据进行比对,判断所述目标数据与所述目标抓取数据是否一致,若是,确定所述网络爬虫的内容抽取工作状态正常,否则,确定所述网络爬虫的内容抽取工作状态异常。
6.一种监控网络爬虫的装置,其特征在于,包括:监控单元、记录单元和处理单元,其中,
所述监控单元,用于监控外部的网络爬虫;
所述记录单元,用于当监控到所述外部的网络爬虫运行时,记录所述外部的网络爬虫产生的抓取痕迹;
所述处理单元,用于将所述抓取痕迹与预设的抓取规则进行比对,根据对比结果,确定所述外部的网络爬虫的运行状态。
7.根据权利要求6所述的网络爬虫运行监控的系统,其特征在于,
所述记录单元包括:第一记录子单元、第二记录子单元、第三记录子单元和判断子单元,其中,
所述第一记录子单元,用于记录所述外部的网络爬虫确定的入口URL;
所述第二记录子单元,用于记录所述外部的网络爬虫从所述入口URL中提取的至少一个父URL;
所述第三记录子单元,用于记录所述外部的网络爬虫从每一个所述父URL中提取的至少一个子URL;
所述判断子单元,用于将所述至少一个子URL中每一个所述子URL作为当前子URL,判断所述当前子URL是否为叶子URL,若是,记录所述外部的网络爬虫从所述当前子URL中抓取的目标数据,否则,将所述当前子URL作为父URL,并触发所述第三记录子单元。
8.根据权利要求7所述的网络爬虫运行监控的系统,其特征在于,
当所述抓取痕迹包括URL的数量时,
所述处理单元,用于统计所述父URL的数量,以及每一个所述父URL对应的所述子URL的数量,将统计的所述父URL的数量,以及所述子URL的数量,分别与所述预设的抓取规则对应的目标数量进行比对,判断所述父URL的数量与所述子URL的数量与所述目标数量是否一致,若是,确定所述网络爬虫的网页下载工作状态正常,否则,确定所述网络爬虫的网页下载工作状态异常;
和/或,
当所述抓取痕迹包括URL解析时,
所述处理单元,用于将每一个所述父URL对应的每一个所述子URL的抓取对应关系,与所述预设的抓取规则对应的目标抓取对应关系进行比对,判断所述抓取对应关系与所述目标抓取对应关系是否一致,若是,确定所述网络爬虫的URL解析工作状态正常,否则,确定所述网络爬虫的URL解析工作状态异常。
9.根据权利要求7所述的网络爬虫运行监控的系统,其特征在于,
当所述抓取痕迹包括内容抽取时,
所述处理单元,用于将所述网络爬虫抓取的目标数据,与所述预设的抓取规则对应的目标抓取数据进行比对,判断所述目标数据与所述目标抓取数据是否一致,若是,确定所述网络爬虫的内容抽取工作状态正常,否则,确定所述网络爬虫的内容抽取工作状态异常。
10.一种监控网络爬虫的系统,其特征在于,包括:至少一个网络爬虫和权利要求6至9中任一所述的监控网络爬虫的装置。
CN201611025201.2A 2016-11-16 2016-11-16 一种监控网络爬虫的方法、装置和系统 Pending CN106789392A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611025201.2A CN106789392A (zh) 2016-11-16 2016-11-16 一种监控网络爬虫的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611025201.2A CN106789392A (zh) 2016-11-16 2016-11-16 一种监控网络爬虫的方法、装置和系统

Publications (1)

Publication Number Publication Date
CN106789392A true CN106789392A (zh) 2017-05-31

Family

ID=58970009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611025201.2A Pending CN106789392A (zh) 2016-11-16 2016-11-16 一种监控网络爬虫的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN106789392A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766237A (zh) * 2017-09-22 2018-03-06 北京锐安科技有限公司 网络爬虫的测试方法、装置、服务器和存储介质
CN109818828A (zh) * 2019-02-20 2019-05-28 成都嗨翻屋科技有限公司 一种分布式爬虫系统监控方法及装置
CN110968754A (zh) * 2018-09-28 2020-04-07 北京国双科技有限公司 一种爬虫翻页策略的检测方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510195A (zh) * 2008-02-15 2009-08-19 刘峰 基于爬虫技术的网站安全防护与测试诊断系统构造方法
CN103248625A (zh) * 2013-04-27 2013-08-14 北京京东尚科信息技术有限公司 一种网络爬虫运行异常监控方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510195A (zh) * 2008-02-15 2009-08-19 刘峰 基于爬虫技术的网站安全防护与测试诊断系统构造方法
CN103248625A (zh) * 2013-04-27 2013-08-14 北京京东尚科信息技术有限公司 一种网络爬虫运行异常监控方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766237A (zh) * 2017-09-22 2018-03-06 北京锐安科技有限公司 网络爬虫的测试方法、装置、服务器和存储介质
CN110968754A (zh) * 2018-09-28 2020-04-07 北京国双科技有限公司 一种爬虫翻页策略的检测方法及装置
CN110968754B (zh) * 2018-09-28 2023-04-07 北京国双科技有限公司 一种爬虫翻页策略的检测方法及装置
CN109818828A (zh) * 2019-02-20 2019-05-28 成都嗨翻屋科技有限公司 一种分布式爬虫系统监控方法及装置

Similar Documents

Publication Publication Date Title
CN105554007B (zh) 一种web异常检测方法和装置
CN103825774B (zh) 用于生成隐私简档的方法和设备
CN110134584A (zh) 一种接口测试用例的生成方法、装置、存储介质和服务器
CN107241296B (zh) 一种Webshell的检测方法及装置
CN106656536A (zh) 一种用于处理服务调用信息的方法与设备
CN103368957B (zh) 对网页访问行为进行处理的方法及系统、客户端、服务器
CN107657177A (zh) 一种漏洞检测方法及装置
CN106126558A (zh) 一种舆情监控方法及装置
CN107092826A (zh) 网页内容安全实时监测方法
CN106789392A (zh) 一种监控网络爬虫的方法、装置和系统
CN107016298B (zh) 一种网页篡改监测方法及装置
CN103279476B (zh) 一种web应用系统敏感文字的检测方法及系统
CN107409134A (zh) 法证分析
CN112347501A (zh) 数据处理方法、装置、设备及存储介质
CN107340954A (zh) 一种信息提取方法和装置
CN104778123A (zh) 一种检测系统性能的方法及装置
CN107404487A (zh) 一种工业控制系统安全检测方法及装置
CN105868035A (zh) 一种故障预测的方法、装置和系统
CN108153643A (zh) 日志监控系统及方法
CN108182217A (zh) 一种基于移动互联网的app开发系统及发布方法
CN113568841A (zh) 一种针对小程序的风险检测方法、装置及设备
CN112787984A (zh) 一种基于相关分析的车载网络异常检测方法及系统
CN107423090A (zh) 一种Flash播放器异常日志管理方法及系统
CN107562426A (zh) 无埋点式云端收集分析浏览器Trace的方法及系统
CN107145421A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531