CN113761315A - 网页内容的爬取方法、装置、计算机设备及存储介质 - Google Patents
网页内容的爬取方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113761315A CN113761315A CN202111060009.8A CN202111060009A CN113761315A CN 113761315 A CN113761315 A CN 113761315A CN 202111060009 A CN202111060009 A CN 202111060009A CN 113761315 A CN113761315 A CN 113761315A
- Authority
- CN
- China
- Prior art keywords
- url
- content
- target
- webpage
- logic
- 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
- 230000009193 crawling Effects 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000000605 extraction Methods 0.000 claims abstract description 127
- 238000012545 processing Methods 0.000 claims description 53
- 238000004590 computer program Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
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
本发明实施例公开了一种网页内容的爬取方法、装置、计算机设备及存储介质。所述方法包括:获取种子URL;然后根据所述种子URL爬取目标网页;再通过预设的JSOUP文本解析器对所述目标网页进行解析处理,得到解析后的目标网页;通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容;最后将所述目标内容存储至资源库中。本方案中的JSOUP文本解析器可以支持多种类型文本协议的解析,JSONPTAH内容抽取引擎可以提取通过JSOUP文本解析器解析后的内容。通过实施本发明实施例的方法可提高爬取场景的覆盖率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种网页内容的爬取方法、装置、计算机设备及存储介质。
背景技术
网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。
传统的爬虫场景中常使用文档对象模型(Document Object Model,DOM)中的标准应用程序接口(Application Program Interface,API)来进行文本内容的解析及抽取。基于DOM的传统文档解析器仅支持超文本标记语言(HyperText Markup Language,HTML)协议,不同的场景的网页往往使用不同的协议,所以使用传统的爬取方法存在爬取场景覆盖率差的问题。
发明内容
本发明实施例提供了一种网页内容的爬取方法、装置、计算机设备及存储介质,可以提高爬取场景的覆盖率。
第一方面,本发明实施例提供了一种网页内容的爬取方法,其包括:
获取种子URL;
根据所述种子URL爬取目标网页;
通过预设的JSOUP文本解析器对所述目标网页进行解析处理,得到解析后的目标网页;
通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容;
将所述目标内容存储至资源库中。
第二方面,本发明实施例还提供了一种网页内容的爬取装置,其包括:
第一获取单元,用于获取种子URL;
爬取单元,用于根据所述种子URL爬取目标网页;
解析单元,用于通过预设的JSOUP文本解析器对所述目标网页进行解析处理,得到解析后的目标网页;
抽取单元,用于通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容;
存储单元,用于将所述目标内容存储至资源库中。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述方法。
本发明实施例提供了一种网页内容的爬取方法、装置、计算机设备及存储介质。其中,所述方法包括:获取种子URL;然后根据所述种子URL爬取目标网页;再通过预设的JSOUP文本解析器对所述目标网页进行解析处理,得到解析后的目标网页;通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容;最后将所述目标内容存储至资源库中。本方案使用JSOUP文本解析器以及JSONPTAH内容抽取引擎取代传统的文档解析器,JSOUP文本解析器可以支持多种类型文本协议的解析,JSONPTAH内容抽取引擎可以提取通过JSOUP文本解析器解析后的内容,传统的文档解析器仅支持对HTML协议类型的网页进行解析及提取,而本方案可以对多种协议类型的网页进行解析及提取,所以本方案提高了爬取场景的覆盖率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的网页内容的爬取方法的应用场景示意图;
图2为本发明实施例提供的网页内容的爬取方法的流程示意图;
图3为本发明实施例提供的网页内容的爬取方法的一个子流程示意图;
图4为本发明实施例提供的网页内容的爬取方法的另一个子流程示意图;
图5为本发明实施例提供的网页内容的爬取方法的另一个子流程示意图;
图6为本发明实施例提供的网页内容的爬取装置的示意性框图;
图7为本发明另一实施例提供的网页内容的爬取装置的示意性框图;
图8为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本发明实施例提供了一种网页内容的爬取方法、装置、计算机设备及存储介质。
该网页内容的爬取方法的执行主体可以是本发明实施例提供的网页内容的爬取装置,或者集成了该网页内容的爬取装置的网页内容的爬取设备,其中,该网页内容的爬取装置可以采用硬件或者软件的方式实现,该网页内容的爬取设备可以为服务器。
请参阅图1,图1为本发明实施例提供的网页内容的爬取方法的应用场景示意图。该网页内容的爬取方法应用于图1中的服务器10中,该服务器10通过控制器获取种子统一资源定位符(Uniform Resource Locator,URL);根据种子URL在万维网中爬取目标网页;通过解析器中预设的JSOUP文本解析器对目标网页进行解析处理,得到解析后的目标网页;并通过解析器中预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从解析后的目标网页中抽取目标内容;最后将目标内容存储至资源库中。
其中,本实施例中的网页内容的爬取设备(以下简称爬取设备)包括控制器、解析器以及资源库,其中,控制器用于为URL分配线程,并启动线程调用爬虫进行网页的爬取;解析器用于下载爬取到的网页,对网页的文本进行处理,如过滤功能,抽取特殊HTML标签的功能,分析数据功能;资源库用于存储网页中下载下来的数据记录的容器,并提供生成索引的目标源。
以下对本实施例中的网页内容的爬取方法进行详细说明,以下实施例以爬取设备为执行主体为例,图2是本发明实施例提供的网页内容的爬取方法的流程示意图。如图2所示,该方法包括以下步骤S110-150。
110、获取种子URL。
其中,该种子URL为当前需要进行爬取的种子URL,步骤S110可以由爬取设备中的控制器执行。
请参阅图3,在一些实施例中,具体地,步骤S110包括:
S111、根据ES数据库中存储的URL与任务调度逻辑的对应关系确定当前时间对应的URL。
本实施例中,控制器使用非结构化数据存储机制,使用(ElasticSearch,ES)数据库维护URL与任务调度逻辑的对应关系,其中,ES数据库中维护有URL与任务调度逻辑的对应关系,所维护的URL为种子URL,可以为一个也可以为多个,每个URL都有其对应的任务调度逻辑,其中,该任务调度逻辑包括URL的爬取频次,比如每个小时的整点、每天早上10点或者每周一早上十点等,当某个URL对应的任务调度逻辑为每天早上10点进行一次调度时,此时到了早上10,则将对应时间的URL调度出来,确定为当前时间对应的URL。
其中,传统的控制器需要通过编码来维护要采集的URL与任务调度逻辑的对应关系,需要人工维护大量代码或者配置文件,当管理规模过大时会有巨大消耗,在新增爬虫任务时需要进行控制器的代码版本更新和爬取设备的重启新增的爬虫任务才会生效,而本发明使用非结构化数据存储,新增的爬虫任务的全流程都可以通过模板文件或者配置文件来实现,通过加载配置的方式可以实现热更新,不需要重启,使得ES数据库中维护的数据得到及时的更新,并且简化了在传统关系型数据库存储方案中schema的维护和管理,以及处理过程中的序列化和反序列化过程,增加了数据处理和使用的灵活性。
S112、将当前时间对应的URL确定为种子URL。
具体的,如果任务调度逻辑中存在当前时间对应的种子URL,则确定了当前时间对应的URL之后,将当前时间对应的URL确定为种子URL,其中,该种子URL为当前时间需要进行爬取的URL。
120、根据种子URL爬取目标网页。
请参阅图4,在一些实施例中,具体地,步骤S120包括:
S121、启动预设的线程池,并将种子URL放入线程池中。
本实施例中,爬取设备可以通过控制器调用线程池,并将种子URL放入线程池中,为种子URL分配线程,其中,该线程池包括多个线程。
需要说明的是,控制器不仅需要为种子URL分配线程,还需要为在种子URL对应的网页中抓取到的一级或多级(深度)的非种子URL分配线程。当控制器为URL分配好线程之后,即启动对应线程使用对网页进行爬取。
S122、通过线程池根据种子URL爬取目标网页。
在一些实施例中,目标网页不仅包括种子URL对应的网页,还包括在种子URL对应的网页中抓取到的一级或多级的非种子URL所对应的网页,即目标网页不仅包括种子URL所对应的网页,还包括根据种子URL爬取到的非种子URL所对应的网页。
在一些实施例中,具体地,步骤S122包括:通过线程池向种子URL对应的网站发送网页获取请求;然后根据网页获取请求获取目标网页,更具体地,包括:通过线程池向种子URL对应的第一网站发送第一网页获取请求并接收所述第一网站返回的第一网页;从第一网页中提取非种子URL;通过线程池向非种子URL对应的第二网站发送第二网页获取请求,并接收所述第二网站返回的第二网页;将第一网页以及第二网页确定为目标网页。其中,若第二网页中还存在更深的URL,则此时还需要进行进一步的爬取,直到爬取到的网页不存在URL或者满足爬取条件为止,其中,爬取条件可以为深度爬取条件,例如只爬取到第二级深度。
130、通过预设的JSOUP文本解析器对目标网页进行解析处理,得到解析后的目标网页。
当控制器爬取到网页之后,后续将由解析器对爬取到的网页进行解析及抽取处理,其中,本实施例中的解析器包括JSOUP文本解析器以及JSONPTAH内容抽取引擎。
其中,JSOUP文本解析器为一种基于JSOUP协议的文本解析器,该解析器可以对网页进行解析,使网页内容结构化,可以支持HTML协议以及XML协议等协议的文本,场景覆盖率高。本实施例使用JSOUP规范分别对获取到的目标网页进行解析处理,得到解析后的目标网页,其中,解析后的目标网页为JSON文档。
140、通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从解析后的目标网页中抽取目标内容。
其中,JSONPTAH内容抽取引擎为一种基于JSONPTAH协议的信息抽取类库,可以从JSON文档中抽取指定信息。本实施例中的JSONPTAH内容抽取引擎中为每个URL都设置有对应的内容抽取逻辑,即本实施例对于爬取到的不同URL设置了不同的内容抽取逻辑,例如文章网页对应的URL,我们可能需要抽取的内容有作者、发布时间、标题以及正文等对应的内容,又例如股票网页对应的URL,我们可能需要抽取的内容有股票代码、股票名称以及价格等对应的内容。
请参阅图5,在一些实施例中,具体地,步骤S140包括:
S141、通过JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系,确定与种子URL对应的目标内容抽取逻辑。
本实施例中,JSONPTAH内容抽取引擎针对每个URL都设置有不同的内容抽取逻辑,根据URL与内容抽取逻辑的对应关系可知,种子URL对应的内容抽取逻辑为目标内容抽取逻辑。
S142、根据目标内容抽取逻辑从解析后的第一网页中抽取第一目标内容。
确定目标内容抽取逻辑之后,将根据目标内容抽取逻辑从解析后的第一网页中抽取第一目标内容。
S143、通过JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系,确定与非种子URL对应的非目标内容抽取逻辑。
根据URL与内容抽取逻辑的对应关系可知,非种子URL对应的内容抽取逻辑为非目标内容抽取逻辑。
S144、根据非目标内容抽取逻辑从解析后的第二网页中抽取第二目标内容。
确定非目标内容抽取逻辑之后,将根据非目标内容抽取逻辑从解析后的第二网页中抽取第二目标内容。
S145、根据第一目标内容以及第二目标内容确定目标内容。
即本实施例中的目标内容包括第一目标内容以及第二目标内容。
需要说明的是,本发明中的JSOUP文本解析器通过JSOUP规范模板对网页内容进行解析,使得网页内容结构化,JSONPTAH内容抽取引擎可以通过简单的目标元素路径描述的简单配置(即URL与内容抽取逻辑的对应关系)来制定元素的抽取目标,不需要进行额外编码,解决的传统解析器使用门槛高的问题。
由于传统的文档解析器是基于硬编码开发进行内容抽取的,如果需要修改抽取逻辑等,则必须重启爬取装置才能生效,一般爬取装置只能在设定的时间点才会进行重启,导致爬取装置不能得到及时的更新。
可见,本例使用了相对传统的DOM规范结构更加简洁、执行效率更加优秀的JSOUP和JSONPTAH规范,并实现了基于这两种规范的文本解析器组件。使得原有文件解析阶段编写dom节点规则和操作逻辑的大量工作简化为了通过极少量基于JSOUP和JSONPTAH规范的文件节点定义的配置修改即可完成,可以实现规则的热更新,使得爬取设备得到及时的更新,并带来了大幅的编码效率和运行效率的提升。
150、将目标内容存储至资源库中。
本步骤通过资源库进行处理,在一些实施例中,具体地,步骤S150包括:确定目标内容对应的URL;根据对应的URL以及资源库中URL与内容处理逻辑的对应关系,确定目标内容对应的目标内容处理逻辑;根据目标内容处理逻辑确定目标内容的各描述字段;在目标内容中提取各描述字段所对应的描述内容;建立描述字段与描述内容的索引关系;保存索引关系以及描述内容至资源库中。
其中,当目标内容包括第一目标内容以及第二目标内容时,目标内容对应的URL有多个,分别包括第一目标内容对应的种子URL以及第二目标内容对应的非种子URL,然后根据资源库中URL与内容处理逻辑的对应关系,分别确定种子URL对应的第一内容处理逻辑,以及非种子URL对应的第二内容处理逻辑,然后根据第一内容处理逻辑以及第二内容处理逻辑对分别确定第一目标内容以及第二目标内容的描述字段,然后分别提取各描述字段对应的描述内容,建立描述字段与描述内容的索引关系。
在一些实施例中,对应URL的目标内容处理逻辑可以与JSONPTAH内容抽取引擎中的内容抽取逻辑相对应,此时JSONPTAH内容抽取引擎将需要的目标内容抽取出来之后,将会把抽取出来目标内容存储至资源库中,此时资源库将提供生成索引的目标源,即针对每个URL分别对应的目标内容,根据其对应的目标内容处理逻辑,确定目标内容的各描述字段(即索引名称,例如股票名称以及价格),并且在目标内容中分别提取各描述字段所对应的描述内容,例如价格对应的描述内容是33元,在资源库中建立描述字段与对应描述内容的索引关系。
需要说明的是,资源库中的URL与内容处理逻辑的对应关系通过预设的动态映射模块进行维护,其中,该动态映射模块为基于cglib技术的动态类型映射模块。使用动态映射模块维护URL与内容处理逻辑的对应关系,可以使得代码在运行时可以根据配置信息动态的生成中间处理流程的数据结构,而在传统方案中,资源库需要针对每一个具体的爬取对象(URL)进行序列化、反序列化的实体类代码的编写,这样在新增爬虫任务时需要停机更新才能生效。本方案通过动态映射模块,使得代码在运行时可以根据配置信息动态的生成中间处理流程的数据结构,省去了传统流程中的这个编码步骤,并且可以实现内容处理逻辑的热更新,在新增爬虫任务时不需要停机,逻辑也能生效。
可见,在本实施例中,爬取设备中的控制器、解析器以及资源库均可以实现热更新,在一些实施例中,爬虫设备还包括更新管理器,用户可以通过更新管理器更新爬虫设备中的控制器、解析器以及资源库中的逻辑,更新管理器提供了用户友善的管理页面,能够高效的进行爬虫管理、任务编排等工作,爬取设备的具体更新方法如下:
通过更新管理器获取新增URL以及新增URL分别对应的新增任务调度逻辑、新增内容抽取逻辑以及新增内容处理逻辑;根据新增URL与新增内容抽取逻辑的对应关系,动态更新JSONPTAH内容抽取引擎的URL与内容抽取逻辑的对应关系;根据新增URL与新增任务调度逻辑的对应关系以及ES数据库的动态映射模块,动态更新URL与任务调度逻辑的对应关系;根据新增URL与新增内容处理逻辑的对应关系以及资源库的动态映射模块,动态更新URL与内容处理逻辑的对应关系。
需要说明的是,本实施例除了可以动态新增URL以及该新增URL分别对应的新增任务调度逻辑、新增内容抽取逻辑以及新增内容处理逻辑之外,还可以动态删除URL,以及该被删除URL对应的任务调度逻辑、内容抽取逻辑以及内容处理逻辑,此外,本实施例还可以对原有的URL的任务调度逻辑、内容抽取逻辑和/或内容处理逻辑进行修改。
本实施例中,爬取设备首先获取种子URL;然后根据种子URL爬取目标网页;再通过预设的JSOUP文本解析器对目标网页进行解析处理,得到解析后的目标网页;通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从解析后的目标网页中抽取目标内容;最后将目标内容存储至资源库中。本方案使用JSOUP文本解析器以及JSONPTAH内容抽取引擎取代传统的文档解析器,JSOUP文本解析器可以支持多种类型文本协议的解析,JSONPTAH内容抽取引擎可以提取通过JSOUP文本解析器解析后的内容,传统的文档解析器仅支持对HTML协议类型的网页进行解析及提取,而本方案可以对多种协议类型的网页进行解析及提取,所以本方案提高了爬取场景的覆盖率。
图6是本发明实施例提供的一种网页内容的爬取装置的示意性框图。如图6所示,对应于以上网页内容的爬取方法,本发明还提供一种网页内容的爬取装置。该网页内容的爬取装置包括用于执行上述网页内容的爬取方法的单元。具体地,请参阅图6,该网页内容的爬取装置包括第一获取单元601、爬取单元602、解析单元603、抽取单元604以及存储单元605。
第一获取单元601,用于获取种子URL;
爬取单元602,用于根据所述种子URL爬取目标网页;
解析单元603,用于通过预设的JSOUP文本解析器对所述目标网页进行解析处理,得到解析后的目标网页;
抽取单元604,用于通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容;
存储单元605,用于将所述目标内容存储至资源库中。
在一些实施例中,所述爬取单元602具体用于:
启动预设的线程池,并将所述种子URL放入所述线程池中;
通过所述线程池根据所述种子URL爬取目标网页。
在一些实施例中,所述爬取单元602进一步具体用于:
通过所述线程池向所述种子URL对应的第一网站发送第一网页获取请求并接收所述第一网站返回的第一网页;
从所述第一网页中提取非种子URL;
通过所述线程池向所述非种子URL对应的第二网站发送第二网页获取请求并接收所述第二网站返回的第二网页;
将所述第一网页以及所述第二网页确定为所述目标网页。
在一些实施例中,所述解析后的目标网页包括解析后的第一网页以及解析后的第二网页,所述抽取单元604具体用于:
通过所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系,确定与所述种子URL对应的目标内容抽取逻辑;
根据所述目标内容抽取逻辑从所述解析后的第一网页中抽取第一目标内容;
通过所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系,确定与所述非种子URL对应的非目标内容抽取逻辑;
根据所述非目标内容抽取逻辑从所述解析后的第二网页中抽取第二目标内容;
将所述第一目标内容以及所述第二目标内容确定为所述目标内容。
在一些实施例中,所述第一获取单元601具体用于:
根据ES数据库中存储的URL与任务调度逻辑的对应关系确定当前时间对应的URL;
将所述当前时间对应的URL确定为所述种子URL。
在一些实施例中,所述存储单元605具体用于:
确定所述目标内容对应的URL;
根据所述对应的URL以及所述资源库中URL与内容处理逻辑的对应关系,确定所述目标内容对应的目标内容处理逻辑;
根据所述目标内容处理逻辑确定所述目标内容的各描述字段;
在所述目标内容中提取各描述字段所对应的描述内容;
建立所述描述字段与所述描述内容的索引关系;
保存所述索引关系以及所述描述内容至所述资源库中。
图7是本发明另一实施例提供的一种网页内容的爬取装置的示意性框图。如图7所示,本实施例的网页内容的爬取装置是上述实施例的基础上增加了第二获取单元606、第一更新单元607、第二更新单元608以及第三更新单元609。
第二获取单元606,用于获取新增URL以及所述新增URL分别对应的新增任务调度逻辑、新增内容抽取逻辑以及新增内容处理逻辑;
第一更新单元607,用于根据所述新增URL与所述新增任务调度逻辑的对应关系以及所述ES数据库的动态映射模块,动态更新所述URL与任务调度逻辑的对应关系;
第二更新单元608,用于根据所述新增URL与所述新增内容抽取逻辑的对应关系,动态更新所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系;
第三更新单元609,用于根据所述新增URL与所述新增内容处理逻辑的对应关系以及所述资源库的动态映射模块,动态更新所述URL与内容处理逻辑的对应关系。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述网页内容的爬取装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述网页内容的爬取装置可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本发明实施例提供的一种计算机设备的示意性框图。该计算机设备800可以是服务器。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
请参阅图8,该计算机设备800包括通过系统总线801连接的处理器802、存储器和网络接口805,其中,存储器可以包括非易失性存储介质803和内存储器804。
该非易失性存储介质803可存储操作系统8031和计算机程序8032。该计算机程序8032包括程序指令,该程序指令被执行时,可使得处理器802执行一种网页内容的爬取方法。
该处理器802用于提供计算和控制能力,以支撑整个计算机设备800的运行。
该内存储器804为非易失性存储介质803中的计算机程序8032的运行提供环境,该计算机程序8032被处理器802执行时,可使得处理器802执行一种网页内容的爬取方法。
该网络接口805用于与其它设备进行网络通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备800的限定,具体的计算机设备800可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器802用于运行存储在存储器中的计算机程序8032,以实现如下步骤:
获取种子URL;
根据所述种子URL爬取目标网页;
通过预设的JSOUP文本解析器对所述目标网页进行解析处理,得到解析后的目标网页;
通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容;
将所述目标内容存储至资源库中。
在一实施例中,处理器802在实现所述根据所述种子URL爬取目标网页步骤时,具体实现如下步骤:
启动预设的线程池,并将所述种子URL放入所述线程池中;
通过所述线程池根据所述种子URL爬取目标网页。
在一实施例中,处理器802在实现所述通过所述线程池根据所述种子URL爬取目标网页步骤时,具体实现如下步骤:
通过所述线程池向所述种子URL对应的第一网站发送第一网页获取请求并接收所述第一网站返回的第一网页;
从所述第一网页中提取非种子URL;
通过所述线程池向所述非种子URL对应的第二网站发送第二网页获取请求并接收所述第二网站返回的第二网页;
将所述第一网页以及所述第二网页确定为所述目标网页。
在一实施例中,所述解析后的目标网页包括解析后的第一网页以及解析后的第二网页,处理器802在实现所述通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容步骤时,具体实现如下步骤:
通过所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系,确定与所述种子URL对应的目标内容抽取逻辑;
根据所述目标内容抽取逻辑从所述解析后的第一网页中抽取第一目标内容;
通过所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系,确定与所述非种子URL对应的非目标内容抽取逻辑;
根据所述非目标内容抽取逻辑从所述解析后的第二网页中抽取第二目标内容;
将所述第一目标内容以及所述第二目标内容确定为所述目标内容。
在一实施例中,处理器802在实现所述获取种子URL步骤时,具体实现如下步骤:
根据ES数据库中存储的URL与任务调度逻辑的对应关系确定当前时间对应的URL;
将所述当前时间对应的URL确定为所述种子URL。
在一实施例中,处理器802在实现所述将所述目标内容存储至资源库中步骤时,具体实现如下步骤:
确定所述目标内容对应的URL;
根据所述对应的URL以及所述资源库中URL与内容处理逻辑的对应关系,确定所述目标内容对应的目标内容处理逻辑;
根据所述目标内容处理逻辑确定所述目标内容的各描述字段;
在所述目标内容中提取各描述字段所对应的描述内容;
建立所述描述字段与所述描述内容的索引关系;
保存所述索引关系以及所述描述内容至所述资源库中。
在一实施例中,处理器802还实现如下步骤:
获取新增URL以及所述新增URL分别对应的新增任务调度逻辑、新增内容抽取逻辑以及新增内容处理逻辑;
根据所述新增URL与所述新增任务调度逻辑的对应关系以及所述ES数据库的动态映射模块,动态更新所述URL与任务调度逻辑的对应关系;
根据所述新增URL与所述新增内容抽取逻辑的对应关系,动态更新所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系;
根据所述新增URL与所述新增内容处理逻辑的对应关系以及所述资源库的动态映射模块,动态更新所述URL与内容处理逻辑的对应关系。
应当理解,在本发明实施例中,处理器802可以是中央处理单元(CentralProcessing Unit,CPU),该处理器802还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如下步骤:
获取种子URL;
根据所述种子URL爬取目标网页;
通过预设的JSOUP文本解析器对所述目标网页进行解析处理,得到解析后的目标网页;
通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容;
将所述目标内容存储至资源库中。
在一实施例中,所述处理器在执行所述程序指令而实现所述根据所述种子URL爬取目标网页步骤时,具体实现如下步骤:
启动预设的线程池,并将所述种子URL放入所述线程池中;
通过所述线程池根据所述种子URL爬取目标网页。
在一实施例中,所述处理器在执行所述程序指令而实现所述通过所述线程池根据所述种子URL爬取目标网页步骤时,具体实现如下步骤:
通过所述线程池向所述种子URL对应的第一网站发送第一网页获取请求并接收所述第一网站返回的第一网页;
从所述第一网页中提取非种子URL;
通过所述线程池向所述非种子URL对应的第二网站发送第二网页获取请求并接收所述第二网站返回的第二网页;
将所述第一网页以及所述第二网页确定为所述目标网页。
在一实施例中,所述解析后的目标网页包括解析后的第一网页以及解析后的第二网页,所述处理器在执行所述程序指令而实现所述通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容步骤时,具体实现如下步骤:
通过所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系,确定与所述种子URL对应的目标内容抽取逻辑;
根据所述目标内容抽取逻辑从所述解析后的第一网页中抽取第一目标内容;
通过所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系,确定与所述非种子URL对应的非目标内容抽取逻辑;
根据所述非目标内容抽取逻辑从所述解析后的第二网页中抽取第二目标内容;
将所述第一目标内容以及所述第二目标内容确定为所述目标内容。
在一实施例中,所述处理器在执行所述程序指令而实现所述获取种子URL步骤时,具体实现如下步骤:
根据ES数据库中存储的URL与任务调度逻辑的对应关系确定当前时间对应的URL;
将所述当前时间对应的URL确定为所述种子URL。
在一实施例中,所述处理器在执行所述程序指令而实现所述将所述目标内容存储至资源库中步骤时,具体实现如下步骤:
确定所述目标内容对应的URL;
根据所述对应的URL以及所述资源库中URL与内容处理逻辑的对应关系,确定所述目标内容对应的目标内容处理逻辑;
根据所述目标内容处理逻辑确定所述目标内容的各描述字段;
在所述目标内容中提取各描述字段所对应的描述内容;
建立所述描述字段与所述描述内容的索引关系;
保存所述索引关系以及所述描述内容至所述资源库中。
在一实施例中,所述处理器还实现如下步骤:
获取新增URL以及所述新增URL分别对应的新增任务调度逻辑、新增内容抽取逻辑以及新增内容处理逻辑;
根据所述新增URL与所述新增任务调度逻辑的对应关系以及所述ES数据库的动态映射模块,动态更新所述URL与任务调度逻辑的对应关系;
根据所述新增URL与所述新增内容抽取逻辑的对应关系,动态更新所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系;
根据所述新增URL与所述新增内容处理逻辑的对应关系以及所述资源库的动态映射模块,动态更新所述URL与内容处理逻辑的对应关系。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种网页内容的爬取方法,其特征在于,包括:
获取种子URL;
根据所述种子URL爬取目标网页;
通过预设的JSOUP文本解析器对所述目标网页进行解析处理,得到解析后的目标网页;
通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容;
将所述目标内容存储至资源库中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述种子URL爬取目标网页,包括:
启动预设的线程池,并将所述种子URL放入所述线程池中;
通过所述线程池根据所述种子URL爬取目标网页。
3.根据权利要求2所述的方法,其特征在于,所述通过所述线程池根据所述种子URL爬取目标网页,包括:
通过所述线程池向所述种子URL对应的第一网站发送第一网页获取请求并接收所述第一网站返回的第一网页;
从所述第一网页中提取非种子URL;
通过所述线程池向所述非种子URL对应的第二网站发送第二网页获取请求并接收所述第二网站返回的第二网页;
将所述第一网页以及所述第二网页确定为所述目标网页。
4.根据权利要求3所述的方法,其特征在于,所述解析后的目标网页包括解析后的第一网页以及解析后的第二网页,所述通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容,包括:
通过所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系,确定与所述种子URL对应的目标内容抽取逻辑;
根据所述目标内容抽取逻辑从所述解析后的第一网页中抽取第一目标内容;
通过所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系,确定与所述非种子URL对应的非目标内容抽取逻辑;
根据所述非目标内容抽取逻辑从所述解析后的第二网页中抽取第二目标内容;
将所述第一目标内容以及所述第二目标内容确定为所述目标内容。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述获取种子URL,包括:
根据ES数据库中存储的URL与任务调度逻辑的对应关系确定当前时间对应的URL;
将所述当前时间对应的URL确定为所述种子URL。
6.根据权利要求5所述的方法,其特征在于,所述将所述目标内容存储至资源库中,包括:
确定所述目标内容对应的URL;
根据所述对应的URL以及所述资源库中URL与内容处理逻辑的对应关系,确定所述目标内容对应的目标内容处理逻辑;
根据所述目标内容处理逻辑确定所述目标内容的各描述字段;
在所述目标内容中提取各描述字段所对应的描述内容;
建立所述描述字段与所述描述内容的索引关系;
保存所述索引关系以及所述描述内容至所述资源库中。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取新增URL以及所述新增URL分别对应的新增任务调度逻辑、新增内容抽取逻辑以及新增内容处理逻辑;
根据所述新增URL与所述新增任务调度逻辑的对应关系以及所述ES数据库的动态映射模块,动态更新所述URL与任务调度逻辑的对应关系;
根据所述新增URL与所述新增内容抽取逻辑的对应关系,动态更新所述JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系;
根据所述新增URL与所述新增内容处理逻辑的对应关系以及所述资源库的动态映射模块,动态更新所述URL与内容处理逻辑的对应关系。
8.一种网页内容的爬取装置,其特征在于,包括:
第一获取单元,用于获取种子URL;
爬取单元,用于根据所述种子URL爬取目标网页;
解析单元,用于通过预设的JSOUP文本解析器对所述目标网页进行解析处理,得到解析后的目标网页;
抽取单元,用于通过预设的JSONPTAH内容抽取引擎中URL与内容抽取逻辑的对应关系从所述解析后的目标网页中抽取目标内容;
存储单元,用于将所述目标内容存储至资源库中。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111060009.8A CN113761315A (zh) | 2021-09-10 | 2021-09-10 | 网页内容的爬取方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111060009.8A CN113761315A (zh) | 2021-09-10 | 2021-09-10 | 网页内容的爬取方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113761315A true CN113761315A (zh) | 2021-12-07 |
Family
ID=78794546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111060009.8A Pending CN113761315A (zh) | 2021-09-10 | 2021-09-10 | 网页内容的爬取方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761315A (zh) |
-
2021
- 2021-09-10 CN CN202111060009.8A patent/CN113761315A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107895009B (zh) | 一种基于分布式的互联网数据采集方法及系统 | |
US9436711B2 (en) | Method and apparatus for preserving analytics while processing digital content | |
CN112597373A (zh) | 一种基于分布式爬虫引擎的数据采集方法 | |
US11263062B2 (en) | API mashup exploration and recommendation | |
US20190286687A1 (en) | Identification of sequential browsing operations | |
US20130024444A1 (en) | Topic Map for Navigation Control | |
US8489643B1 (en) | System and method for automated content aggregation using knowledge base construction | |
CN112612943A (zh) | 一种基于异步处理框架的具有自动测试功能的数据爬取方法 | |
CN113569181A (zh) | 一种分页数据采集方法及系统 | |
US20140214867A1 (en) | Framework for Generating Programs to Process Beacons | |
CN114003835A (zh) | 页面渲染方法、装置、设备及存储介质 | |
Souza et al. | Provenance of dynamic adaptations in user-steered dataflows | |
US9092338B1 (en) | Multi-level caching event lookup | |
Liu et al. | An XML-enabled data extraction toolkit for web sources | |
CN103914479A (zh) | 资源请求的匹配方法和装置 | |
Huang et al. | Change-patterns mapping: A boosting way for change impact analysis | |
CN110069691B (zh) | 用于处理点击行为数据的方法和装置 | |
CN113836451A (zh) | 网页访问方法、装置、计算机设备和存储介质 | |
CN113761315A (zh) | 网页内容的爬取方法、装置、计算机设备及存储介质 | |
CN109471966B (zh) | 一种自动获取目标数据源的方法及系统 | |
CN115577689A (zh) | 一种表格组件的生成方法、装置、设备及介质 | |
US10599740B1 (en) | Program code streaming | |
Simeoni et al. | An approach to high-level language bindings to XML | |
Bošnjak et al. | The Role of Web Usage Mining in Web Applications Evaluation | |
CN111611462A (zh) | 一种app数据获取方法及系统 |
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 |