CN108121743A - 一种通用网页模版的生成和使用方法、系统 - Google Patents

一种通用网页模版的生成和使用方法、系统 Download PDF

Info

Publication number
CN108121743A
CN108121743A CN201611082189.9A CN201611082189A CN108121743A CN 108121743 A CN108121743 A CN 108121743A CN 201611082189 A CN201611082189 A CN 201611082189A CN 108121743 A CN108121743 A CN 108121743A
Authority
CN
China
Prior art keywords
page template
page
web
acquisition
generation
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
CN201611082189.9A
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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201611082189.9A priority Critical patent/CN108121743A/zh
Publication of CN108121743A publication Critical patent/CN108121743A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/738Presentation of query results

Abstract

本发明公开了一种通用网页模版的生成和使用方法,包括:检测新增网站或频道的网页类型,根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,并存储到网页模版数据库中;根据预设的各网页模版的采集频率,对所述各网页模版进行采集任务调度;根据调度的网页模版,采集与解析所述调度的网页模版对应的网站或频道的网页内容元数据。本发明还同时公开了一种通用网页模版的生成和使用系统。

Description

一种通用网页模版的生成和使用方法、系统
技术领域
本发明涉及互联网数据采集技术领域,尤其涉及一种通用网页模版的生成和使用方法、系统。
背景技术
随着互联网技术的发展和普及,Web资源呈爆炸式增长,网页成为人们日常生活中获取信息的重要来源。网络资源繁多且具开放性、动态性和异构性等特点,无法进行统一管理,这使得人们想要快速准确地查找到所需信息成为难题;且网络资源的异构性使人们很难获取结构化的信息。
网络爬虫,是一种按照既定的规则,自动从互联网抓取、并解析网页内容的计算机技术。具体来说,网络爬虫是从一个或若干个初始网页的统一资源定位符(URL,UniformResource Locator)开始,获得初始网页上的URL,根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接,并将保留的所有有用的链接放入等待抓取的URL队列,然后根据一定的搜索策略从队列中选择下一步要抓取的网络爬虫网页URL,并重复上述过程,直到满足系统设定的停止条件;同时,还可以将非结构化的网页数据,按照某种事先配置的模式模型(Schema模型),如标题、正文、发布时间等进行模型实例化,从而将非结构化数据转化为高质量的结构化数据,并存入数据库中。
通常,网络爬虫的核心技术是网页抓取和网页内容的解析。基于网页内容解析方法的不同,目前,比较常见的网络爬虫技术主要有以下几种:
1)传统网络爬虫,该网络爬虫技术大多数为专用网络爬虫,即:针对不同的网站或网站内不同的频道,专门为各个网站或频道编写出专用的网络爬虫,因此,该网络爬虫技术是需要对每个网站或频道维护一个专用的网络爬虫,才能完成批量网站中网页的数据采集;
2)模版式网络爬虫,同一个网站中的网页格式,往往由数量很少的固定模版承载,且各个页面拥有相似的网页结构,然而,网页内容会更新,其模版却相对可靠固定。使用该网络爬虫技术解析网页内容的大致思路是:首先,对特定的网页配置抽取模版;其次,通过模版定位需要抽取的网页内容;最后,对抽取结果进行存储;
3)通用智能网络爬虫,或称为通用网页解析式网络爬虫,即:基于网页特征,对抓取到的网页进行内容抽取与解析,其中,网页特征主要有网页的视觉特征、网页的标签特征等。此类网络爬虫技术的实现过程为:首先,对采集目标进行网页类型划分;其次,设计与总结各网页类型的内容特征;最后,对不同类型的网页匹配不同的网页内容特征并进行网页内容的抽取。
然而,上述几种网络爬虫技术主要存在以下问题:
1)对于传统网络爬虫技术,由于每个网站或频道都要维护一个专用网络爬虫,才能完成批量网站中网页的数据采集,但随着网页内容的日益增长以及不断更新,使网络爬虫的开发者和维护者的工作量和复杂度急剧增加,导致网络爬虫的编写工作容易出错,同时也给用户操作带来一定困难;
2)对于模版式网络爬虫技术,针对每个网站或频道,都需人工配置一个或多个网页模版,因此要完成对批量网站的抓取,通常要消耗大量的人工成本;而且,网页模版并非一成不变,一旦目标网站的网页模版改变,相应的爬虫系统的模版也需要更新;
3)对于通用智能网络爬虫技术,由于网页内容特征的复杂化,即使对网页进行类型划分,也很难保证一套网页模版适用于不同的网页内容特征,而且网页内容特征的提取一般是基于高复杂度的计算,因此,该技术很难保证对网页内容的解析精度和网页采集的效率。
发明内容
有鉴于此,本发明实施例期望提供一种通用网页模版的生成和使用方法、系统,至少解决现有网络爬虫技术中存在的上述问题,能够自动化生成通用网页模版,不仅降低人工成本、提高时间效率,还能提升网页内容的解析精度与采集效率。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供一种通用网页模版的生成和使用方法,所述方法包括:
检测新增网站或频道的网页类型,根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,并存储到网页模版数据库中;
根据预设的各网页模版的采集频率,对所述各网页模版进行采集任务调度;
根据调度的网页模版,采集与解析所述调度的网页模版对应的网站或频道的网页内容元数据。
上述方案中,在所述生成对应的网页模版之后,所述方法还包括:对生成的各网页模版分别预先设置采集频率。
上述方案中,在所述存储到网页模版数据库中之后,所述方法还包括:定期检测所述网页模版数据库中所有网页模版的有效性,并对有效性验证失败的网页模版进行自动校正。
上述方案中,所述根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,包括:
根据待生成网页模版对应的网站或频道的入口URL,匹配网页类型并获取所有属于同一域名的网页链接;
对所述属于同一域名的网页链接进行去重过滤处理,得到处理后的网页链接集合,并采集与所述处理后的网页链接集合对应的网页内容;
根据网页解析模型,解析并抽取所述网页内容的元数据;
根据抽取的元数据反推出各元数据的适配规则,并生成对应的网页模版。
上述方案中,所述对生成的各网页模版分别预先设置采集频率,包括:
根据各网页模版对应网站或频道的活跃程度和重要性,为各网页模版分别预先设置采集频率;
各网页模版的采集间隔以阶梯式呈现。
本发明实施例还提供一种通用网页模版的生成和使用系统,所述系统包括:网页模版生成模块、采集任务调度模块、网络爬虫模块;其中,
所述网页模版生成模块,用于检测新增网站或频道的网页类型,根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,并存储到网页模版数据库中;
所述采集任务调度模块,用于根据预设的各网页模版的采集频率,对所述各网页模版进行采集任务调度;
所述网络爬虫模块,用于根据调度的网页模版,采集与解析所述调度的网页模版对应的网站或频道的网页内容元数据。
上述方案中,所述网页模版生成模块,还用于在所述生成对应的网页模版之后,对生成的各网页模版分别预先设置采集频率。
上述方案中,所述系统还包括:网页模版管理模块,用于在所述网页模版生成模块将生成的各网页模版存储到网页模版数据库中之后,定期检测所述网页模版数据库中所有网页模版的有效性,并对有效性验证失败的网页模版进行自动校正。
上述方案中,所述网页模版生成模块包括:获取模块、处理模块、采集模块、解析抽取模块、生成模块;其中,
所述获取模块,用于根据待生成网页模版对应的网站或频道的入口URL,匹配网页类型并获取所有属于同一域名的网页链接;
所述处理模块,用于对所述属于同一域名的网页链接进行去重过滤处理,得到处理后的网页链接集合;
所述采集模块,用于采集与所述处理后的网页链接集合对应的网页内容;
所述解析抽取模块,用于根据网页解析模型,解析并抽取所述网页内容的元数据;
所述生成模块,用于根据抽取的元数据反推出各元数据的适配规则,并生成对应的网页模版。
本发明实施例所提供的通用网页模版的生成和使用方法、系统,检测新增网站或频道的网页类型,根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,并存储到网页模版数据库中;根据预设的各网页模版的采集频率,对所述各网页模版进行采集任务调度;根据调度的网页模版,采集与解析所述调度的网页模版对应的网站或频道的网页内容元数据。如此,结合通用智能网络爬虫技术的优点,实现通用网页模版的快速生成与管理自动化,减少人工参与度,大大提高时间效率;并且,较之于传统网络爬虫技术,采用本发明实施例生成的通用网页模版进行网络数据爬虫,还能进一步提升网页内容的解析精度与网页采集效率。同时,用户可以根据实际应用场景,增加或替换通用网页解析模块,扩展性灵活、实用性强。
附图说明
图1为本发明实施例一提供的通用网页模版的生成和使用方法的流程示意图;
图2为本发明实施例二提供的通用网页模版的生成和使用方法的具体实现框图;
图3为本发明实施例二与构建通用网页模版对应的XML文档示意图;
图4为本发明实施例二通用网页模版的生成流程示意图;
图5为本发明实施例二采集任务的组成逻辑示意图;
图6为本发明实施例二基于通用网页模版实现网络爬虫的工作逻辑示意图;
图7为本发明实施例三提供的通用网页模版的生成和使用系统的组成结构示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
实施例一
如图1所示,本发明实施例中通用网页模版的生成和使用方法的实现流程,包括以下步骤:
步骤101:检测新增网站或频道的网页类型,根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,并存储到网页模版数据库中;
本步骤具体包括:根据待生成网页模版对应的网站或频道的入口URL,匹配网页类型并获取所有属于同一域名的网页链接;
对所述属于同一域名的网页链接进行去重过滤处理,得到处理后的网页链接集合,并采集与所述处理后的网页链接集合对应的网页内容;
根据网页解析模型,解析并抽取所述网页内容的元数据;
这里,可采用Xpath抽取规则抽取网页内容的元数据如网页的正文、标题、来源、发布时间等。其中,该抽取过程属于现有技术,在此不再详细赘述。
根据抽取的元数据反推出各元数据的适配规则,并生成对应的网页模版。
这里,可采用现有的多种反推方法反推出网页内容中各元数据的适配规则,本发明在此不做具体限定。
这里,在本步骤所述生成对应的网页模版之后,所述方法还包括:对生成的各网页模版分别预先设置采集频率。
其中,每个网页模版分别对应一个网站或频道,且定义了该网站或频道的采集与解析规则。具体来说,针对不同的网页类型,创建不同的网页内容Schema模型,且每种Schema模型所要求的网页内容元数据集合不同;根据每个网站或频道的网页类型,配置一个对应的网页模版,以完成对该网站或频道下网页的采集,以及Schema模型要求的各网页内容元数据的解析与抽取。一般来说,Schema模型为数据库对象的集合,一个用户对应一个Schema模型。特别地,Schema模型用于描述和规范XML文档的逻辑结构。
这里,用不同的网页模版表示不同的网站或频道的过程大致如下:
首先,根据待生成网页模版的网站或频道的网页类型,选择相应的网页内容Schema模型;
其次,设置待生成网页模版的网站或频道的入口URL与采集深度,并分别设置待生成网页模版中两种不同网页的过滤规则;
这里,根据页面内容的侧重点不同,可以将网页结构分为导航型网页和主题型网页。其中,导航型网页包括大量的超链接,其功能相当于书籍中的目录或者各章节的导读,一般导航型网页中不包括大量的文字信息;主题型网页一般在Web网站链接导航树上,主要分布于底层,多位叶节点,其主体在于“文字”或多属性描述,URL较长体现了网页内容的管理层次。
再者,分别设置对应上述两种不同网页的采集方式,以及是否需要启用JS解析,并分别对Schema模型所需的各网页内容元数据设置对应的适配规则,以用不同的网页模版表示不同的网站或频道;
这里,网页内容元数据的适配规则可采用XML路径语言与正则表达式相配合的方式完成。优选的,采用XML路径语言中的Xpath抽取规则,来实现对网页内容元数据的适配,其中,如何采用Xpath抽取规则对网页内容元数据进行抽取属于现有技术,在此不再一一赘述;正则表达式是一种检索、匹配字符串或文本的方法。
最后,对网页模版设置采集频率,并将其存储到网页模版数据库中。
这里,在所述将生成的各网页模版存储到网页模版数据库中之后,所述方法还包括:定期检测所述网页模版数据库中所有网页模版的有效性,并对有效性验证失败的网页模版进行自动校正。
具体来说,对于有效性验证成功的网页模版,则可在后续的网络爬虫系统中直接使用;对于有效性验证失败的网页模版,则可根据自动化生成的网页模版对失效的网页模版进行自动更新,重新生成有效的网页模版,以备后续的网络爬虫系统使用。
通常,由于现有技术中的网站或频道的网页结构并非一成不变,导致不同网页结构所对应的网页模版并非一成不变,一旦目标网站的网页结构发生改变,则相应的网络爬虫系统的模版也需要更新。因此,对网页模版的有效性进行定期检测,这对后续网页模版的使用也是至关重要的。
下面详细介绍下如何检测网页模版的有效性,其检测过程大致如下:
首先,设置网页模版的验证周期为Δtv,当前验证时间为tn,上次验证时间为tv;其次,加载网页模版数据库中所有符合条件tv+Δtv≥tn的网页模版,并记为Pv;再者,依次对Pv中的所有网页模版p进行有效性检测:若p的有效性验证成功,则更新p对应的tv=tn,以及将网页模版的状态显示为有效;若p的有效性验证失败,则使用自动化生成的网页模版对p中失效的部分进行重新校正,生成新的网页模版,并更新p对应为tv=tn,以及将网页模版的状态显示为待审核;最后,对网页模版数据库中所有待审核的网页模版进行人工核查,并更新网页模版的状态。
步骤102:根据预设的各网页模版的采集频率,对所述各网页模版进行采集任务调度;
这里,可根据各网页模版对应网站或频道的活跃程度和重要性,为各网页模版分别预先设置采集频率;且各网页模版的采集间隔以阶梯式呈现。其中,所述采集间隔是根据用户对网页模版的实际应用需要自行设置的。
本步骤102的具体实现过程如下:
首先,读取并加载所有网页模版的采集频率设置信息以及上次采集时间,并生成网页模版调度队列;
其中,所述网页模版调度队列中包括:网页模版名称、上次调度时间tl、采集间隔Δt等。
其次,按照下次调度时间tne=tl+Δt的先后顺序,对网页模版调度队列中的所有网页模版进行排序;
最后,依次对网页模版数据库中的每个网页模版进行判断,验证网页模版是否满足调度条件检测,即将当前时间tn与下次调度时间tne进行比对:若tn-tl≥Δt,则将该网页模版加入采集任务队列,更新该网页模版的上次调度时间为tl=tn,并根据下次调度时间tne更新该网页模版在调度队列中的位置;否则,模版调度条件检测停止。
步骤103:根据调度的网页模版,采集与解析所述调度的网页模版对应的网站或频道的网页内容元数据。
这里,详细说明下如何完成对一个网页模版对应的网站或频道的网页内容元数据的采集和解析任务,其工作流程大致如下:
首先,初始化,加载网页模版信息;
其中,所述网页模版信息包括:网页模版的采集深度N、以及网页的正文、标题、来源、以及发布时间等内容。
其次,从网页模版的入口URL出发,设置当前层数为1,并加入网络爬虫系统的采集请求队列Q;
再者,依次从Q中取出每个采集请求q,并根据对q的判断结果,执行如下操作:
a)若q满足主题型网页过滤条件,则使用主题型网页的采集方式采集q对应的网页,并基于模版的网页内容元数据适配规则,完成对q相应网页的解析工作;
b)若q满足导航型网页过滤条件、且q的采集深度小于模版的采集深度N,则使用导航型网页的采集方式采集q对应的网页,抽取其中所有的网页链接并生成新的采集请求加入Q,并使用模版的网页内容元数据适配规则,完成对q相应网页的解析工作;其中,新生成的采集请求采集到的层数为当前层数加1;
c)若q均不满足上述两种规则,但q满足导航型网页的过滤条件、且q的采集深度大于等于模版的采集深度N,则跳过该采集请求q。
最后,若采集请求队列Q已取空,则完成对网页模版的本次采集任务。
实施例二
下面结合一具体应用场景对本发明的通用网页模版的生成和使用方法进行详细描述。
图2给出了本发明实施例通用网页模版的生成和使用方法的具体实现框图,如图2所示,根据一定的采集策略,对网页模版数据库中的网页模版进行采集任务调度与控制;将采集的任务分发到不同的爬虫客户端,并根据调度的网页模版,进行抓取scrapy进程的并发控制与监听,以及采集与解析相应网站或频道的网页内容;随后将采集结果基于Redis的组件进行网页数据处理。
具体地,本系统使用Scrapy作为网页爬虫的实现,并对其做了一定量的扩展与配置。特别地,为了更方便地实现网络爬虫系统的分布式采集,本发明定制了几个基于Redis的组件,用于替换原有的Scheduler、Dupefilter以及RequestQueue。其中,系统中爬虫模块采用的RequestQueue,是带有优先级信息的SpiderPriorityQueue,使用Redis的Zset数据结构实现。基于本系统的网页模版,按照抓取请求的优先级别的高低,将请求队列RequestQueue中的抓取请求分为三类,分别是:seedurl-Request、pageurl-Request以及targeturl-Request,其优先级依次降低。图2中所示的爬虫模块会优先完成对各频道入口URL的请求,以抽取翻页链接以及主题型网页链接;其次完成翻页请求,以完成对主题型网页链接的抽取;最后完成对网页内容元数据的采集与解析,以达到最终采集任务的完成。在任务运行过程中,所有采集器共享同一个请求任务队列,从而使得各爬虫客户端下的各采集器均能基于自身的处理能力完成相应的采集任务。
需要说明的是,为保证使用的网页模版具有有效性,还需要定期对网页模版数据库中的所有网页模版进行有效性检测,当检测出有的网页模版失效时,则需根据自动化生成的网页模版对失效的网页模版进行自动校正。
本发明实施例为了简化网页模版的自动生成与管理操作,网络爬虫系统采用的网页模版的采集深度均固定为1,但引入翻页抽取(page_url),该系统的每个网页模版均对应于网站的一个子频道。
下面以新浪网下的子频道“新浪江苏”(http://www.sina.com.cn/)为例,用图3所示的XML文档来实现通用网页模版的构建过程。其对应的网页模版的构建过程如下:
首先,根据新浪江苏的网页类型,选择相应的网页内容Schema模型为News;
其次,设置子频道“新浪江苏”的入口URL(http://jiangsu.sina.com.cn/)、设置入口URL是否需要开启JS解析(splash=“False”)、以及分别设置网页模版中两种不同网页(导航型网页与主题型网页)的过滤规则,即page_url与target_url的Xpath抽取规则,以及对应的正则表达式匹配规则;
再者,分别设置对应上述两种不同网页的采集方式,以及是否需要启用JS解析,并分别对模型News所需的各网页内容元数据设置对应的适配规则,即设定相应的Xpath抽取规则与正则表达式来抽取并解析网页的正文(content)、标题(title)、来源(medianame)、发布时间(pubtime)等内容;
最后,对“新浪江苏”对应的网页模版分别设置采集频率,并将该网页模版存储到网页模版数据库中。
图4为本发明实施例通用网页模版的生成流程示意图,如图4所示,包括以下步骤:
步骤401:输入基本信息;
这里,所述基本信息包括:与待生成网页模版对应的网站或频道的入口URL、名称、抽取深度N、以及网页类型等。
步骤402:将基本信息加入待生成模版导航型链接队列;
步骤403:判断导航型链接队列是否为空,若否,则执行步骤404;否则,执行步骤418;
步骤404:获取导航页链接;
步骤405:对获取的导航页链接进行网页采集与编码识别;
步骤406:抽取属于同一域名的网页链接,对属于同一域名的网页链接进行去重过滤处理;
步骤407:判断处理后的网页链接是否为导航型网页链接,若是,则执行步骤416;否则,执行步骤408;
步骤408:获取主题型网页链接组合S;
步骤409:根据S生成链接的Xpath生成规则,并转入步骤415;
步骤410:进一步确定步骤401中是否已指定与待生成网页模版对应的网站或频道的网页类型,若否,则执行步骤411,否则,执行步骤412;
这里,若未指定网页类型,则根据网站或频道的入口URL自动匹配网页类型。
步骤411:根据网页类型识别算法识别网页类型;
步骤412:选择网页解析模型,并根据选择的网页解析模型执行步骤413;
步骤413:对网页内容元数据进行解析,并抽取元数据内容中网页的正文、标题、发布时间等;
步骤414:根据抽取的元数据内容,反推出各元数据的适配规则;
这里,所述元数据的适配规则包括:Xpath抽取规则、正则表达式。
步骤415:生成该网页的XML网页模版,结束本次处理流程;
步骤416:判断当前网页的页面深度是否小于N,若是,则返回步骤402,否则,执行步骤417;
步骤417:丢弃该网页链接,结束本次处理流程;
步骤418:结束本次处理流程。
综上,采用图4所示步骤能够自动生成通用网页模版,用于解决现有模版式网络爬虫技术中,由于需要批量配置网页模版而带来的高人力成本问题,且该网页模版的自动生成过程的实现与效果主要依赖于通用智能网页解析算法,以及网页模版适配规则的反推算法。因此,采用该方法能够快速生成通用网页模版,不仅减少人工参与度,还大大提高时间效率。
这里,在生成通用网页模版后,根据各网页模版对应网站或频道的活跃程度和重要性,为各网页模版分别预先设置采集频率,并根据设置的各网页模版的采集频率,对所述网页模版进行采集任务调度。
图5给出了本发明实施例采集任务的组成逻辑示意图,如图5所示,为网页模版数据库中的网页模版分别设置采集频率,各网页模版的采集间隔采用阶梯式,如10min、30min、1hour、3hour、6hour。系统的采集任务调度工作的逻辑过程为:按照上述设定的采集间隔,将网页模版库中的所有网页模版分成5个相应的模版集,并组成对应的模版名称队列,缓存至redis内容数据库:10min-PatternList、30min-PatternList、1hour-PatternList、3hour-PatternList、6hour-PatternList;每10min进行一次采集任务调度,在每次调度过程中,从各个模版集中获取本次调度模版时,采用依次从队首取相应比例数量的网页模版,将其加入本次采集任务中,并将其放回队尾的方式进行。这样,可以在遵循预先设定的采集间隔的情况下,保证每10min的采集任务对应的网页模版数量是均衡的。
图6给出了本发明实施例基于通用网页模版实现网络爬虫的工作逻辑示意图,如图6所示,预先按照抓取请求的优先级别的高低,将请求队列RequestQueue中的抓取请求分为三类,分别是:seedurl-Request、pageurl-Request以及targeturl-Request,其优先级依次降低;初始化,加载本次采集任务所需的所有网页模版,并获取所有网页模版的seedurl(即入口),将与seedurl对应的采集请求加入网络爬虫系统的RequestQueue;依次从RequestQueue中取出每个采集请求q,并根据对q的判断结果,执行如下操作:若q属于导航型网页(seedurl或pageurl),则选择q对应的网页模版,抽取pageurl(翻页)或targeturl(主题页)中的采集请求,并将其加入到RequestQueue中;若q属于主题型网页(targeturl),则利用对应的网页模版解析q对应的网页内容元数据,并将解析的网页内容元数据送入采集结果收集器;若采集请求队列RequestQueue已确认取空,则完成对网页模版的本次采集任务。
通常,由于现有技术中的网站或频道的网页结构并非一成不变,导致不同网页结构所对应的网页模版并非一成不变,一旦目标网站的网页结构发生改变,则相应的网络爬虫系统的模版也需要更新。因此,对网页模版的有效性进行定期检测,并对已失效的网页模版进行自动校正,这对后续网页模版的使用也是至关重要的。这里,详细说明下对网页模版的有效性进行检测的全过程:
首先,设置网页模版的验证周期为Δtv,当前验证时间为tn,上次验证时间为tv;其次,加载网页模版数据库中所有符合条件tv+Δtv≥tn的网页模版,并记为Pv;再者,依次对Pv中的所有网页模版p进行有效性检测:若p的有效性验证成功,则更新p对应的tv=tn,以及将网页模版的状态显示为有效;若p的有效性验证失败,则使用自动化生成的网页模版对p中失效的部分进行重新校正,生成新的网页模版,并更新p对应为tv=tn,以及将网页模版的状态显示为待审核;最后,对网页模版数据库中所有待审核的网页模版进行人工核查,并更新网页模版的状态。
实施例三
为实现上述方法,本发明实施例还提供了一种通用网页模版的生成和使用系统,如图7所示,该系统包括:网页模版生成模块701、采集任务调度模块702、网络爬虫模块703;其中,
所述网页模版生成模块701,用于检测新增网站或频道的网页类型,根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,并存储到网页模版数据库中;
所述采集任务调度模块702,用于根据预设的各网页模版的采集频率,对所述各网页模版进行采集任务调度;
所述网络爬虫模块703,用于根据调度的网页模版,采集与解析所述调度的网页模版对应的网站或频道的网页内容元数据。
这里,所述网页模版生成模块701,具体包括:获取模块7011、处理模块7012、采集模块7013、解析抽取模块7014、生成模块7015;其中,
所述获取模块7011,用于根据待生成网页模版对应的网站或频道的入口URL,匹配网页类型并获取所有属于同一域名的网页链接;
所述处理模块7012,用于对所述属于同一域名的网页链接进行去重过滤处理,得到处理后的网页链接集合;
所述采集模块7013,用于采集与所述处理后的网页链接集合对应的网页内容;
所述解析抽取模块7014,用于根据网页解析模型,解析并抽取所述网页内容的元数据;
所述生成模块7015,用于根据抽取的元数据反推出各元数据的适配规则,并生成对应的网页模版。
这里,所述网页模版生成模块701,还用于在所述生成对应的网页模版之后,对生成的各网页模版分别预先设置采集频率。
其中,所述对生成的各网页模版分别预先设置采集频率,包括:
根据各网页模版对应网站或频道的活跃程度和重要性,为各网页模版分别预先设置采集频率;
各网页模版的采集间隔以阶梯式呈现。
这里,所述系统还包括:网页模版管理模块704,用于在所述网页模版生成模块701将生成的各网页模版存储到网页模版数据库中之后,定期检测所述网页模版数据库中所有网页模版的有效性,并对有效性验证失败的网页模版进行自动校正。
在实际应用中,所述网页模版生成模块701、采集任务调度模块702、网络爬虫模块703、网页模版管理模块704、获取模块7011、处理模块7012、采集模块7013、解析抽取模块7014、生成模块7015均可由位于计算机设备上的中央处理器(CPU,Central ProcessingUnit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital SignalProcessor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
本发明实施例检测新增网站或频道的网页类型,根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,并存储到网页模版数据库中;根据预设的各网页模版的采集频率,对所述各网页模版进行采集任务调度;根据调度的网页模版,采集与解析所述调度的网页模版对应的网站或频道的网页内容元数据。如此,结合通用智能网络爬虫技术的优点,实现通用网页模版的快速生成与管理自动化,减少人工参与度,大大提高时间效率;并且,较之于传统网络爬虫技术,采用本发明实施例生成的通用网页模版进行网络数据爬虫,还能进一步提升网页内容的解析精度与网页采集效率。同时,用户可以根据实际应用场景,增加或替换通用网页解析模块,扩展性灵活、实用性强。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种通用网页模版的生成和使用方法,其特征在于,所述方法包括:
检测新增网站或频道的网页类型,根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,并存储到网页模版数据库中;
根据预设的各网页模版的采集频率,对所述各网页模版进行采集任务调度;
根据调度的网页模版,采集与解析所述调度的网页模版对应的网站或频道的网页内容元数据。
2.根据权利要求1所述的方法,其特征在于,在所述生成对应的网页模版之后,所述方法还包括:对生成的各网页模版分别预先设置采集频率。
3.根据权利要求1所述的方法,其特征在于,在所述存储到网页模版数据库中之后,所述方法还包括:定期检测所述网页模版数据库中所有网页模版的有效性,并对有效性验证失败的网页模版进行自动校正。
4.根据权利要求1或2所述的方法,其特征在于,所述根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,包括:
根据待生成网页模版对应的网站或频道的入口统一资源定位符URL,匹配网页类型并获取所有属于同一域名的网页链接;
对所述属于同一域名的网页链接进行去重过滤处理,得到处理后的网页链接集合,并采集与所述处理后的网页链接集合对应的网页内容;
根据网页解析模型,解析并抽取所述网页内容的元数据;
根据抽取的元数据反推出各元数据的适配规则,并生成对应的网页模版。
5.根据权利要求2所述的方法,其特征在于,所述对生成的各网页模版分别预先设置采集频率,包括:
根据各网页模版对应网站或频道的活跃程度和重要性,为各网页模版分别预先设置采集频率;
各网页模版的采集间隔以阶梯式呈现。
6.一种通用网页模版的生成和使用系统,其特征在于,所述系统包括:网页模版生成模块、采集任务调度模块、网络爬虫模块;其中,
所述网页模版生成模块,用于检测新增网站或频道的网页类型,根据检测到的各新增网站或频道的网页类型,生成对应的网页模版,并存储到网页模版数据库中;
所述采集任务调度模块,用于根据预设的各网页模版的采集频率,对所述各网页模版进行采集任务调度;
所述网络爬虫模块,用于根据调度的网页模版,采集与解析所述调度的网页模版对应的网站或频道的网页内容元数据。
7.根据权利要求6所述的系统,其特征在于,所述网页模版生成模块,还用于在所述生成对应的网页模版之后,对生成的各网页模版分别预先设置采集频率。
8.根据权利要求6所述的系统,其特征在于,所述系统还包括:网页模版管理模块,用于在所述网页模版生成模块将生成的各网页模版存储到网页模版数据库中之后,定期检测所述网页模版数据库中所有网页模版的有效性,并对有效性验证失败的网页模版进行自动校正。
9.根据权利要求6或7所述的系统,其特征在于,所述网页模版生成模块包括:获取模块、处理模块、采集模块、解析抽取模块、生成模块;其中,
所述获取模块,用于根据待生成网页模版对应的网站或频道的入口URL,匹配网页类型并获取所有属于同一域名的网页链接;
所述处理模块,用于对所述属于同一域名的网页链接进行去重过滤处理,得到处理后的网页链接集合;
所述采集模块,用于采集与所述处理后的网页链接集合对应的网页内容;
所述解析抽取模块,用于根据网页解析模型,解析并抽取所述网页内容的元数据;
所述生成模块,用于根据抽取的元数据反推出各元数据的适配规则,并生成对应的网页模版。
10.根据权利要求7所述的系统,其特征在于,所述对生成的各网页模版分别预先设置采集频率,包括:
根据各网页模版对应网站或频道的活跃程度和重要性,为各网页模版分别预先设置采集频率;
各网页模版的采集间隔以阶梯式呈现。
CN201611082189.9A 2016-11-30 2016-11-30 一种通用网页模版的生成和使用方法、系统 Pending CN108121743A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611082189.9A CN108121743A (zh) 2016-11-30 2016-11-30 一种通用网页模版的生成和使用方法、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611082189.9A CN108121743A (zh) 2016-11-30 2016-11-30 一种通用网页模版的生成和使用方法、系统

Publications (1)

Publication Number Publication Date
CN108121743A true CN108121743A (zh) 2018-06-05

Family

ID=62227182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611082189.9A Pending CN108121743A (zh) 2016-11-30 2016-11-30 一种通用网页模版的生成和使用方法、系统

Country Status (1)

Country Link
CN (1) CN108121743A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109088908A (zh) * 2018-06-06 2018-12-25 武汉酷犬数据科技有限公司 一种面向网络的分布式通用数据采集方法和系统
CN110874434A (zh) * 2018-08-31 2020-03-10 珠海格力电器股份有限公司 网页数据采集方法、装置、存储介质及电子设备
CN112231536A (zh) * 2020-10-26 2021-01-15 中国信息安全测评中心 一种基于自学习的数据爬取方法及装置
CN112416551A (zh) * 2020-11-19 2021-02-26 清创网御(合肥)科技有限公司 一种分布式爬虫调度系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184253A (zh) * 2011-05-30 2011-09-14 北京搜狗科技发展有限公司 对网络资源进行抓取及更新消息推送的方法及系统
CN102360368A (zh) * 2011-10-09 2012-02-22 山东大学 基于抽取模板可视化定制的Web数据抽取方法
CN105786972A (zh) * 2010-08-20 2016-07-20 北京新岸线移动多媒体技术有限公司 一种网页模板生成方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786972A (zh) * 2010-08-20 2016-07-20 北京新岸线移动多媒体技术有限公司 一种网页模板生成方法及装置
CN102184253A (zh) * 2011-05-30 2011-09-14 北京搜狗科技发展有限公司 对网络资源进行抓取及更新消息推送的方法及系统
CN102360368A (zh) * 2011-10-09 2012-02-22 山东大学 基于抽取模板可视化定制的Web数据抽取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王岩: "基于共现链的微博情感分析技术的研究与实现", 《中国知网》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109088908A (zh) * 2018-06-06 2018-12-25 武汉酷犬数据科技有限公司 一种面向网络的分布式通用数据采集方法和系统
CN110874434A (zh) * 2018-08-31 2020-03-10 珠海格力电器股份有限公司 网页数据采集方法、装置、存储介质及电子设备
CN112231536A (zh) * 2020-10-26 2021-01-15 中国信息安全测评中心 一种基于自学习的数据爬取方法及装置
CN112416551A (zh) * 2020-11-19 2021-02-26 清创网御(合肥)科技有限公司 一种分布式爬虫调度系统

Similar Documents

Publication Publication Date Title
Mehmood et al. Implementing big data lake for heterogeneous data sources
CN102930059B (zh) 一种聚焦爬虫的设计方法
CN103823824B (zh) 一种借助互联网自动构建文本分类语料库的方法及系统
Dong et al. Focused crawling for automatic service discovery, annotation, and classification in industrial digital ecosystems
CN106126648B (zh) 一种基于重做日志的分布式商品信息爬虫方法
CN102880607A (zh) 网络动态内容抓取方法及网络动态内容爬虫系统
CN105243159A (zh) 一种基于可视化脚本编辑器的分布式网络爬虫系统
CN101957816A (zh) 基于多页面比较的网页元数据自动抽取方法和系统
CN109840298B (zh) 大规模网络数据的多信息来源采集方法和系统
CN108121743A (zh) 一种通用网页模版的生成和使用方法、系统
CN109815382B (zh) 大规模网络数据的感知与获取方法和系统
CN106104533A (zh) 处理大型数据储存库中的数据集
CN104077402A (zh) 数据处理方法和数据处理系统
KR101801257B1 (ko) 효율적 건설문서 관리를 위한 텍스트마이닝 적용 기술
CN105718590A (zh) 面向多租户的SaaS舆情监控系统及方法
WO2015085622A1 (zh) 一种物联网终端设备的语义化方法
CN104598536B (zh) 一种分布式网络信息结构化处理方法
KR20190131778A (ko) 은닉 url에 포함된 정형 및 비정형 데이터의 수집을 위한 웹 크롤러 시스템
Jensen et al. Data Mining for Software Process Discovery in Open Source Software Development Communities.
Wang et al. A novel blockchain oracle implementation scheme based on application specific knowledge engines
WO2015121854A1 (en) Web-based influence system and method
CN109819019B (zh) 用于大规模网络数据采集的监控与统计分析方法和系统
Lu et al. The design and implementation of configurable news collection system based on web crawler
CN102541913B (zh) 面向Web的VSM分类器训练、OSSP页面识别及OSS资源提取方法
CN104978379B (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: 20180605