CN103902732A - 自适应网络资源收集系统的构建及网络资源收集方法 - Google Patents
自适应网络资源收集系统的构建及网络资源收集方法 Download PDFInfo
- Publication number
- CN103902732A CN103902732A CN201410155856.6A CN201410155856A CN103902732A CN 103902732 A CN103902732 A CN 103902732A CN 201410155856 A CN201410155856 A CN 201410155856A CN 103902732 A CN103902732 A CN 103902732A
- Authority
- CN
- China
- Prior art keywords
- reptile
- network resource
- internet resources
- data
- target network
- 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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种自适应网络资源收集系统的构建及网络资源收集方法,尤其是涉及通用的开源软件项目相关的网络资源收集系统的构建及网络资源的收集方法。包括:网络资源收集模块和爬虫依赖模块;网络资源收集模块能够通过爬虫依赖模块建立的网络资源收集模块与目标网络资源之间的依赖关系配置相应爬虫执行单元执行资源收集。因此,本发明具有如下优点:1.能够自适应不同数据类型的目标网络资源,通用性强。2.解耦了具体数据源对某个单一目的的爬虫程序的依赖,具有较高的可扩展性。
Description
技术领域
本发明涉及一种自适应网络资源收集系统的构建及网络资源收集方法,尤其是涉及通用的开源软件项目相关的网络资源收集系统的构建及网络资源的收集方法。
背景技术
开源软件项目相关数据是计算机软件研究的主要数据来源之一。现有的开源软件项目数据收集相关技术主要有如下两种:
一是通过编写单一目的数据抓取程序获取开源软件项目数据。研究人员首先确定所需数据在互联网上的数据源,并且确定数据源中数据的存储结构和接口,然后根据数据源提供的数据接口针对性的编写网络爬虫程序来抓取数据。
二是利用通用的网页爬虫技术进行数据抓取。互联网网页爬虫是现代搜索引擎的必备组建之一,相关技术较为成熟。网页爬虫技术能够利用超链接便利、收集并下载互联网站点中的网页文件。开源社区中也有成熟可开源爬虫项目可供扩展和使用,如Apache开源社区下的Nutch项目等。
但是,上述开源软件项目相关的网络资源数据收集方法存在以下问题:
(1)扩展性差。研究人员为特定数据源构建的爬虫程序往往只能针对特定数据源中特定格式的数据的,不具备功能上的扩展性,也无法进行复用。而当用户需要扩展实验数据集或者更改数据源时,则需要编写更多的爬虫程序。由于复用已有的爬虫程序存在困难,研究人员在数据收集过程中需要付出大量的重复劳动。
(2)适用范围有限。通用的网络爬虫程序只能针对网页或其他文本文件进行数据收集,不适用于非结构化的开源数据。而在软件项目数据收集的过程中,现有的爬虫程序难以满足开源软件项目数据结构和数据接口的多样性。
鉴于以上,由于现有技术中并不存在一个解决数据收集问题可复用的通用方法,导致研究人员在获取研究数据的过程中耗费大量精力。因此,寻找一种更好的开源软件项目相关数据的收集方法是很有必要的。
发明内容
本发明主要是解决现有技术所存在的扩展性差和适用范围有限等问题,提供了一种自适应的网络资源收集方法,该方法能适用于不同数据类型的目标网络资源,适用范围广,可扩展性强。
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种自适应的网络资源收集系统的构建方法,包括:配置一个统一的网络资源收集模块,所述网络资源收集模块包括一个统一的爬虫分配装置以及与若干等待调用的爬虫执行单元,该爬虫分配装置包括:
初始单元:为网络资源收集准备必要的存储空间及系统开销;
收集单元:具有统一爬虫程序接口,能根据目标网络资源的数据类型选择不同爬虫程序收集目标网络资源的数据;
关闭单元:在收集装置收集到所需要的目标数据后释放系统开销以及在收集装置出现异常时进行异常处理;
配置一个爬虫依赖模块,该模块用于配置网络资源收集模块与目标网络资源之间的依赖关系;网络资源收集模块能够通过爬虫依赖模块建立的依赖关系通过爬虫分配装置配置相应爬虫执行单元执行资源收集。
优化的,上述的一种自适应的网络资源收集方法,初始单元用于爬虫程序在信息抓取之前进行的预处理过程,包括以下子步骤:
步骤2.1,取得空闲子线程;
步骤2.2,建立用于存储开源项目的文件系统;
步骤2.3,创建抓取资源的任务记录。
上述的一种自适应的网络资源收集方法,收集单元用于对目标网络资源的抓取,包括以下子步骤:
步骤3.1,根据爬虫依赖模块中的依赖关系找到相应的爬虫执行单元,在步骤2.1取得的子线程中建立一个该爬虫类的实例;
步骤3.2,调用统一爬虫程序接口进行数据抓取。
优化的,上述的一种自适应的网络资源收集方法,关闭单元在抓取完成后释放系统开销,包括以下子步骤:
步骤4.1,在步骤2.3创建的任务记录中记录任务结束信息。
步骤4.2,步骤4.2,释放该任务占用的子线程。
优化的,上述的一种自适应的网络资源收集方法,关闭单元在在抓取出错后能进行异常处理,包括以下子步骤:
步骤5.1:关闭单元定期读取步骤2.3中创建的任务记录,将所述任务记录中未记载结束信息的任务判定为未完成任务,向未完成任务的收集单元发送检测信号,若收集单元未回应,则将该任务判定为异常任务,然后执行步骤5.2;
步骤5.2,强制关闭异常任务,并在步骤2.3创建的任务记录中记录该任务的关闭时间,以及异常堆栈信息。
步骤5.3,释放该任务占用的子线程。
优化的,上述的一种自适应的网络资源收集系统的构建方法,所述爬虫依赖模块配置的网络资源收集模块与目标网络资源之间的依赖关系包括:目标网络资源的数据获取接口、对目标网络资源的数据类型进行描述的数据源类型;能够从数据获取接口对符合特定数据源类型的目标网络资源的数据进行抓取的爬虫程序的名称。
优化的,上述的一种自适应的网络资源收集系统的构建方法,所述目标网络资源的数据获取接口是一段URL描述符。
优化的,上述一种自适应的网络资源收集方法,所述初始单元、收集单元、关闭单元中的一个或多个具有记录网络资源收集过程的工作日志。
一种利用上述方法构建的网络资源收集系统进行网络资源收集的方法,包括以下步骤:
步骤9.1:抽取目标网络资源的数据源类型及数据获取接口;
步骤9.2:将步骤9.1获取的目标网络资源的数据类型及数据获取接口输送给爬虫分配装置,爬虫分配装置在爬虫依赖模块中根据数据源类型或数据获取接口查找对应的爬虫程序的名称;
步骤9.3:爬虫分配装置根据步骤9.2中获取的爬虫程序的名称加载相应的爬虫程序实例收集目标网络资源。
因此,本发明具有如下优点:1.能够自适应不同数据类型的目标网络资源,通用性强。2.解耦了具体数据源对某个单一目的的爬虫程序的依赖,具有较高的可扩展性。
附图说明
附图1是本发明的网络资源收集模块示意图。
附图2是本发明的网络资源收集的方法示意图。
具体实施方式
实施例一:
本实施例中,用户需要抓取Apache Lucene项目的一种软件项目数据:SVN版本库。
首先构建网络资源收集系统,配置一个统一的网络资源收集模块,该网络资源收集模块包括一个统一的爬虫分配装置以及至少一个待调用的爬虫执行单元。该爬虫分配装置包括:
初始单元,用于抓取信息之前的预处理,包括检查SVN数据接口的合法性,建立存放数据的文件目录,写入日志信息,取得用于抓取任务的空闲子线程,创建抓取资源的任务记录等。
收集单元,用于根据目标网络资源的数据类型选择不同爬虫程序收集目标网络资源的数据,具体步骤包括:根据爬虫依赖模块中的依赖关系找到相应的爬虫执行单元,在子线程中建立一个该爬虫执行单元的实例;调用统一爬虫程序接口进行数据抓取。
关闭单元:在收集装置收集到所需要的目标数据后释放系统开销以及在收集装置出现异常时进行异常处理;包括记录抓取数据时间,将数据抓取的总时间,得到的数据条目数和大小写入日志文件。如果抓取过程出现错误,则需要在日志中记录错误堆栈信息。
配置一个爬虫依赖模块,该模块用于配置网络资源收集模块与目标网络资源之间的依赖关系;网络资源收集模块能够通过爬虫依赖模块建立的依赖关系通过爬虫分配装置配置相应爬虫执行单元执行资源收集。该依赖关系包括:目标网络资源的数据获取接口、对目标网络资源的数据类型进行描述的数据源类型;能够从数据获取接口对符合特定数据源类型的目标网络资源的数据进行抓取的爬虫程序的名称。在该模块中,至少包括一个下述的依赖关系:
其中,SVNCrawler是能够从Apache Lucene项目的数据获取接口中抓取该项目资源的爬虫程序。
在构建好上述网络资源收集系统后,开始对取Apache Lucene项目的目标网络资源进行抓取,包括以下步骤:
步骤1:抽取目标网络资源的数据源类型及数据获取接口;
步骤2:将步骤1获取的目标网络资源的数据类型及数据获取接口输送给爬虫分配装置,爬虫分配装置在爬虫依赖模块中根据数据源类型或数据获取接口查找对应的爬虫程序的名称;
步骤3:爬虫分配装置根据步骤2中获取的爬虫程序的名称加载相应的爬虫程序实例收集目标网络资源。
实施例二:
本实施例中,用户需要抓取Apache Lucene项目的另一种软件项目数据:用户邮件列表。
本实施例与实施例一的区别在于依赖模块的配置,其余步骤和实施例一相同。在依赖模块的配置时,先根据统一爬虫接口编写一个邮件列表的爬虫执行单元,并在在爬虫依赖模块中,加入用户邮件列表资源的依赖关系,具体如下:
其中,ApacheMailListCrawler是能够从Apache网站下的邮件列表管理页面抓取邮件信息的爬虫程序。
以上实施例为本发明中得方法及其构建的系统抓取某种软件相关数据的一般过程,可将其应用于其他具有明确数据接口,并且可通过爬虫程序自动抓取的数据集。不同的爬虫程序可进行类似的重构以接入同一个系统,从而实现方法的通用性。
Claims (9)
1.一种自适应的网络资源收集系统的构建方法,其特征在于,包括:
配置一个统一的网络资源收集模块,所述网络资源收集模块包括一个统一的爬虫分配装置以及与若干等待调用的爬虫执行单元,该爬虫分配装置包括:
初始单元:为网络资源收集准备必要的存储空间及系统开销;
收集单元:具有统一爬虫程序接口,能根据目标网络资源的数据类型选择不同爬虫程序收集目标网络资源的数据;
关闭单元:在收集装置收集到所需要的目标数据后释放系统开销以及在收集装置出现异常时进行异常处理;
配置一个爬虫依赖模块,该模块用于配置网络资源收集模块与目标网络资源之间的依赖关系;网络资源收集模块能够通过爬虫依赖模块建立的依赖关系通过爬虫分配装置配置相应爬虫执行单元执行资源收集。
2.根据权利要求1所述的一种自适应的网络资源收集方法,其特征在于,初始单元用于爬虫程序在信息抓取之前进行的预处理过程,包括以下子步骤:
步骤2.1,取得空闲子线程;
步骤2.2,建立用于存储开源项目的文件系统;
步骤2.3,创建抓取资源的任务记录。
3.根据权利要求1所述的一种自适应的网络资源收集方法,其特征在于,收集单元用于对目标网络资源的抓取,包括以下子步骤:
步骤3.1,根据爬虫依赖模块中的依赖关系找到相应的爬虫执行单元,在步骤2.1取得的子线程中建立一个该爬虫执行单元的实例;
步骤3.2,调用统一爬虫程序接口进行数据抓取。
4.根据权利要求1所述的一种自适应的网络资源收集方法,其特征在于,关闭单元在抓取完成后释放系统开销,包括以下子步骤:
步骤4.1,在步骤2.3创建的任务记录中记录任务结束信息;
步骤4.2,释放该任务占用的子线程。
5.根据权利要求1所述的一种自适应的网络资源收集方法,其特征在于,关闭单元在在抓取出错后能进行异常处理,包括以下子步骤:
步骤5.1:关闭单元定期读取步骤2.3中创建的任务记录,将所述任务记录中未记载结束信息的任务判定为未完成任务,向未完成任务的收集单元发送检测信号,若收集单元未回应,则将该任务判定为异常任务,然后执行步骤5.2;
步骤5.2,强制关闭异常任务,并在步骤2.3创建的任务记录中记录该任务的关闭时间,以及异常堆栈信息。
步骤5.3,释放该任务占用的子线程。
6.根据权利要求1所述的一种自适应的网络资源收集系统的构建方法,其特征在于,所述爬虫依赖模块配置的网络资源收集模块与目标网络资源之间的依赖关系包括:目标网络资源的数据获取接口、对目标网络资源的数据类型进行描述的数据源类型;能够从数据获取接口对符合特定数据源类型的目标网络资源的数据进行抓取的爬虫程序的名称。
7.根据权利要求6所述的一种自适应的网络资源收集系统的构建方法,其特征在于所述目标网络资源的数据获取接口是一段URL描述符。
8.根据权利要求1所述的一种自适应的网络资源收集方法,其特征在于,所述初始单元、收集单元、关闭单元中的一个或多个具有记录网络资源收集过程的工作日志。
9.一种利用权利要求1所述方法构建的网络资源收集系统进行网络资源收集的方法,其特征在于,包括以下步骤:
步骤9.1:抽取目标网络资源的数据源类型及数据获取接口;
步骤9.2:将步骤9.1获取的目标网络资源的数据类型及数据获取接口输送给爬虫分配装置,爬虫分配装置在爬虫依赖模块中根据数据源类型或数据获取接口查找对应的爬虫程序的名称;
步骤9.3:爬虫分配装置根据步骤9.2中获取的爬虫程序的名称加载相应的爬虫程序实例收集目标网络资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410155856.6A CN103902732A (zh) | 2014-04-18 | 2014-04-18 | 自适应网络资源收集系统的构建及网络资源收集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410155856.6A CN103902732A (zh) | 2014-04-18 | 2014-04-18 | 自适应网络资源收集系统的构建及网络资源收集方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103902732A true CN103902732A (zh) | 2014-07-02 |
Family
ID=50994054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410155856.6A Pending CN103902732A (zh) | 2014-04-18 | 2014-04-18 | 自适应网络资源收集系统的构建及网络资源收集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902732A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512285A (zh) * | 2015-12-07 | 2016-04-20 | 南京大学 | 基于机器学习的自适应网络爬虫方法 |
CN105893120A (zh) * | 2016-04-21 | 2016-08-24 | 北京京东尚科信息技术有限公司 | 一种线程同步资源的获取方法和装置 |
CN106897357A (zh) * | 2017-01-04 | 2017-06-27 | 北京京拍档科技股份有限公司 | 一种用于带验证分布式智能爬取网络信息的方法 |
CN107220297A (zh) * | 2017-05-02 | 2017-09-29 | 北京大学 | 面向软件项目的多源异构数据自动收集方法及系统 |
CN107273450A (zh) * | 2017-05-31 | 2017-10-20 | 成都明途科技有限公司 | 一种新型智能推荐资源的系统 |
CN107291838A (zh) * | 2017-05-31 | 2017-10-24 | 成都明途科技有限公司 | 有效筛分资源的爬虫系统 |
CN108228667A (zh) * | 2016-12-22 | 2018-06-29 | 钢钢网电子商务(上海)股份有限公司 | 一种钢铁资源数据信息的整合方法及系统 |
CN112506642A (zh) * | 2019-09-13 | 2021-03-16 | 富士通株式会社 | 信息处理设备、信息处理程序的记录介质和信息处理方法 |
CN112615744A (zh) * | 2020-12-18 | 2021-04-06 | 安徽中杰信息科技有限公司 | 一种机房资产云安全管理平台 |
CN113065055A (zh) * | 2021-04-21 | 2021-07-02 | 平安国际智慧城市科技股份有限公司 | 新闻资讯抓取方法、装置、电子设备及存储介质 |
-
2014
- 2014-04-18 CN CN201410155856.6A patent/CN103902732A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512285A (zh) * | 2015-12-07 | 2016-04-20 | 南京大学 | 基于机器学习的自适应网络爬虫方法 |
CN105512285B (zh) * | 2015-12-07 | 2018-11-06 | 南京大学 | 基于机器学习的自适应网络爬虫方法 |
CN105893120A (zh) * | 2016-04-21 | 2016-08-24 | 北京京东尚科信息技术有限公司 | 一种线程同步资源的获取方法和装置 |
CN108228667A (zh) * | 2016-12-22 | 2018-06-29 | 钢钢网电子商务(上海)股份有限公司 | 一种钢铁资源数据信息的整合方法及系统 |
CN106897357A (zh) * | 2017-01-04 | 2017-06-27 | 北京京拍档科技股份有限公司 | 一种用于带验证分布式智能爬取网络信息的方法 |
CN106897357B (zh) * | 2017-01-04 | 2023-07-18 | 北京京拍档科技股份有限公司 | 一种用于带验证分布式智能爬取网络信息的方法 |
CN107220297A (zh) * | 2017-05-02 | 2017-09-29 | 北京大学 | 面向软件项目的多源异构数据自动收集方法及系统 |
CN107220297B (zh) * | 2017-05-02 | 2020-11-20 | 北京大学 | 面向软件项目的多源异构数据自动收集方法及系统 |
CN107291838A (zh) * | 2017-05-31 | 2017-10-24 | 成都明途科技有限公司 | 有效筛分资源的爬虫系统 |
CN107273450A (zh) * | 2017-05-31 | 2017-10-20 | 成都明途科技有限公司 | 一种新型智能推荐资源的系统 |
CN112506642A (zh) * | 2019-09-13 | 2021-03-16 | 富士通株式会社 | 信息处理设备、信息处理程序的记录介质和信息处理方法 |
CN112615744A (zh) * | 2020-12-18 | 2021-04-06 | 安徽中杰信息科技有限公司 | 一种机房资产云安全管理平台 |
CN113065055A (zh) * | 2021-04-21 | 2021-07-02 | 平安国际智慧城市科技股份有限公司 | 新闻资讯抓取方法、装置、电子设备及存储介质 |
CN113065055B (zh) * | 2021-04-21 | 2024-04-02 | 深圳赛安特技术服务有限公司 | 新闻资讯抓取方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902732A (zh) | 自适应网络资源收集系统的构建及网络资源收集方法 | |
CN108847977B (zh) | 一种业务数据的监控方法、存储介质和服务器 | |
US20190205293A1 (en) | Systems and methods for concurrent summarization of indexed data | |
CN109240886B (zh) | 异常处理方法、装置、计算机设备以及存储介质 | |
CN104182288A (zh) | 一种服务器集群系统功耗自动化测试的方法 | |
CN102780726A (zh) | 一种基于web平台的日志分析方法及系统 | |
CN104516982A (zh) | 一种基于Nutch的Web信息提取方法和系统 | |
CN103970788A (zh) | 一种基于网页爬取的爬虫技术 | |
CN104090889A (zh) | 数据处理方法及系统 | |
US10567557B2 (en) | Automatically adjusting timestamps from remote systems based on time zone differences | |
CN103631623A (zh) | 一种集群系统中部署应用软件的方法及装置 | |
CN102142032B (zh) | 一种分布式文件系统的数据读写方法及系统 | |
CN101409690A (zh) | 一种互联网用户行为的获取方法和系统 | |
CN104182482B (zh) | 一种新闻列表页判断方法及筛选新闻列表页的方法 | |
CN103853743A (zh) | 一种分布式系统及其日志查询方法 | |
CN113688288B (zh) | 数据关联分析方法、装置、计算机设备和存储介质 | |
CN103559276A (zh) | 一种清理垃圾文件的方法及其装置 | |
CN103970533A (zh) | 屏幕录制的信息记录方法及装置 | |
CN104765689A (zh) | 一种接口性能数据实时监制方法和装置 | |
CN101441629A (zh) | 一种非结构化网页信息的自动采集方法 | |
CN102567313B (zh) | 递进式网页库去重系统及其实现方法 | |
CN105447146A (zh) | 一种海量数据的收集与交换系统及方法 | |
CN103150155A (zh) | 数据拦截方法和装置 | |
CN104317857A (zh) | 一种房屋信息采集服务系统 | |
CN104765823A (zh) | 一种网站数据采集的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20180828 |