CN108073693A - 一种基于Hadoop的分布式网络爬虫系统 - Google Patents
一种基于Hadoop的分布式网络爬虫系统 Download PDFInfo
- Publication number
- CN108073693A CN108073693A CN201711280557.5A CN201711280557A CN108073693A CN 108073693 A CN108073693 A CN 108073693A CN 201711280557 A CN201711280557 A CN 201711280557A CN 108073693 A CN108073693 A CN 108073693A
- Authority
- CN
- China
- Prior art keywords
- module
- webpage
- page
- url
- crawler system
- 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
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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F18/24155—Bayesian classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出一种基于Hadoop的分布式网络爬虫系统,包括系统总调度模块、页面下载模块、页面解析模块、URL调度模块、文本分类模块、数据存储模块实现对互联网数据的高效准确爬取,特别是本发明通过改进爬虫系统的调度方式和判断逻辑,保证了爬虫系统能够获得多维度的信息,此外,本发明的爬虫系统还结合了分布式系统架构的特点,提高了数据处理效率。
Description
技术领域
本发明涉及大数据处理以及网络爬虫技术领域,具体涉及Hadoop的分布式网络爬虫技术领域。
背景技术
随着大数据时代到来互联网信息正以爆炸式的指数级别增长,传统的集中式网络爬虫受到Web页面覆盖率和抓取时间性能瓶颈的限制,已经难以满足用户越来越高的各种需求。解决此问题的方法之一就是提高爬虫系统硬件性能,比如换成具有更强计算处理能力的计算机或服务器,但是这种方法扩展性有限,而且经济代价较大,因此出现了分布式网络爬虫。
分布式网络爬虫系统由多台机器节点组成,其中一个节点是主节点,负责整个系统的调度和任务分配,其他每个节点都可以看成是一个集中式爬虫负责爬行网页,并将下载的网页存放在本地磁盘上,每个节点都和主节点保持通信。目前著名的搜索引擎例如Google都采用分布式爬虫,分布式网络爬虫系统的不足之处是若主节点失效则整个系统就会陷入瘫痪状态,此外主节点的URL调度模块也会成为整个系统爬行性能的瓶颈。
当前现有技术中,分布式网络爬虫的主要不足之处在于:
(1)系统调度的能力不足,导致系统爬行性能无法发挥出来;
(2)主节点失效会导致系统的崩溃,导致爬虫系统无法工作。
发明内容
一种基于Hadoop的分布式网络爬虫系统,其特征在于系统包括以下模块:
系统总调度模块:作为系统的核心调度模块,是系统运行的入口,负责整个爬虫系统的启动,该模块主要定义爬虫系统启动类和用于数据传递的实体类,可以传递其他模块对应的接口构造一个爬虫实例;
页面下载模块:爬虫系统的关键核心模块,职责是从互联网各服务器抓取网页,具体是根据URL链接通过DNS查询获得网页所在服务器并与服务器建立连接,模拟HTTP请求获得HTTP响应进而下载网页内容,下载网页时可以利用多线程并行采集网页,同时要充分利用MapReduce计算模型;
页面解析模块:主要负责HTML页面分析及链接提取,通过自定义PageProcessor接口的实现类定制一个自己的垂直爬虫系统;该模块的功能包括两部分,一是提取出待抓取的URL链接,二是从页面提取出符合条件的目标数据,并将数据生成Dataltems实例,传递给DataStore模块进行持续化储存;
URL调度模块:主要负责URL链接优化去重工作,网页下载模块从不同服务器抓取网页并从中提取出超链接,这些URL中肯定有一些重复或不符合标准,必须将这些链接URL进行处理再使用才能避免降低爬虫系统性能;该模块使用链接去重和规范化进行优化,每种功能可以由单独的Filter过滤器类实现。
文本分类模块:每个网页都有自己所属的类别,需要根据网页内容判断网页类别,进而判断网页所代表的企业单位所属的类别,该模块的功能就是根据网页文本内容,采用基于贝叶斯文本分类的分类器判断网页分类;
数据存储模块:根据待抓取URL链接库提供的URL,通过页面下载模块从互联网上抓取的网页存储在HDFS上,然后传递给页面解析模块进行页面解析处理。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种基于Hadoop的分布式网络爬虫系统的系统架构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本爬虫系统需要对已下载的网页进行页面分析,从中提取特定内容或数据用于基础资源管理系统的网站备案信息管理,提取的数据包括单位名称、网站名称、网站相近名称、网站地址、办公地址、电话传真、电子邮箱、QQ号码、网站备案、相关简介等等。
本爬虫系统在采集各类网站相关的基础数据时要努力做到数据全、数据准。
对数据全的质量衡量指标为:
(1)包括国内所有的网站,无遗漏:
(2)网站的各项数据项全部都能采集到。
对数据准的质量衡量指标为:
(1)域名对应的IP准确:
(2)采集的各项数据经过交叉核验后,未发现可疑数据。
网页下载后可以根据网页内容对网站进行分类。根据工信部网站分类草案,采用的是多维度分类方式,即一个网站按“面”可以分到A到G共7个维度,其中,在每个维度中包括更细的子类划分,网站可以被划分到多个维度的某一个子类。这7个维度分别是:
A:行业
B:信息服务方式:搜索引擎服务、即时通信服务、社交服务等
C:其他:政府机关、事业单位、公司、个人等
D:协议:HTTP(get/post)、FTP、SMTP等
E:经营性质:经营性和非经营性
F:前置审批类型:新闻、出版、教育等
G:语言:中文、英文、德文等
该分布式网络爬虫系统包括以下模块:
系统总调度模块:作为系统的核心调度模块,是系统运行的入口,负责整个爬虫系统的启动,该模块主要定义爬虫系统启动类和用于数据传递的实体类,可以传递其他模块对应的接口构造一个爬虫实例;
页面下载模块:爬虫系统的关键核心模块,职责是从互联网各服务器抓取网页,具体是根据URL链接通过DNS查询获得网页所在服务器并与服务器建立连接,模拟HTTP请求获得HTTP响应进而下载网页内容,下载网页时可以利用多线程并行采集网页,同时要充分利用MapReduce计算模型;
页面解析模块:主要负责HTML页面分析及链接提取,通过自定义PageProcessor接口的实现类定制一个自己的垂直爬虫系统;该模块的功能包括两部分,一是提取出待抓取的URL链接,二是从页面提取出符合条件的目标数据,并将数据生成Dataltems实例,传递给DataStore模块进行持续化储存;
URL调度模块:主要负责URL链接优化去重工作,网页下载模块从不同服务器抓取网页并从中提取出超链接,这些URL中肯定有一些重复或不符合标准,必须将这些链接URL进行处理再使用才能避免降低爬虫系统性能;该模块使用链接去重和规范化进行优化,每种功能可以由单独的Filter过滤器类实现。
文本分类模块:每个网页都有自己所属的类别,需要根据网页内容判断网页类别,进而判断网页所代表的企业单位所属的类别,该模块的功能就是根据网页文本内容,采用基于贝叶斯文本分类的分类器判断网页分类;
数据存储模块:根据待抓取URL链接库提供的URL,通过页面下载模块从互联网上抓取的网页存储在HDFS上,然后传递给页面解析模块进行页面解析处理。
Claims (1)
1.一种基于Hadoop的分布式网络爬虫系统,其特征在于系统包括以下模块:
系统总调度模块:作为系统的核心调度模块,是系统运行的入口,负责整个爬虫系统的启动,该模块主要定义爬虫系统启动类和用于数据传递的实体类,可以传递其他模块对应的接口构造一个爬虫实例;
页面下载模块:爬虫系统的关键核心模块,职责是从互联网各服务器抓取网页,具体是根据URL链接通过DNS查询获得网页所在服务器并与服务器建立连接,模拟HTTP请求获得HTTP响应进而下载网页内容,下载网页时可以利用多线程并行采集网页,同时要充分利用MapReduce计算模型;
页面解析模块:主要负责HTML页面分析及链接提取,通过自定义PageProcessor接口的实现类定制一个自己的垂直爬虫系统;该模块的功能包括两部分,一是提取出待抓取的URL链接,二是从页面提取出符合条件的目标数据,并将数据生成Dataltems实例,传递给DataStore模块进行持续化储存;
URL调度模块:主要负责URL链接优化去重工作,网页下载模块从不同服务器抓取网页并从中提取出超链接,这些URL中肯定有一些重复或不符合标准,必须将这些链接URL进行处理再使用才能避免降低爬虫系统性能;该模块使用链接去重和规范化进行优化,每种功能可以由单独的Filter过滤器类实现;
文本分类模块:每个网页都有自己所属的类别,需要根据网页内容判断网页类别,进而判断网页所代表的企业单位所属的类别,该模块的功能就是根据网页文本内容,采用基于贝叶斯文本分类的分类器判断网页分类;
数据存储模块:根据待抓取URL链接库提供的URL,通过页面下载模块从互联网上抓取的网页存储在HDFS上,然后传递给页面解析模块进行页面解析处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711280557.5A CN108073693A (zh) | 2017-12-07 | 2017-12-07 | 一种基于Hadoop的分布式网络爬虫系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711280557.5A CN108073693A (zh) | 2017-12-07 | 2017-12-07 | 一种基于Hadoop的分布式网络爬虫系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108073693A true CN108073693A (zh) | 2018-05-25 |
Family
ID=62158106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711280557.5A Pending CN108073693A (zh) | 2017-12-07 | 2017-12-07 | 一种基于Hadoop的分布式网络爬虫系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108073693A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446396A (zh) * | 2018-10-17 | 2019-03-08 | 珠海市智图数研信息技术有限公司 | 一种垂直业务信息的智能爬虫框架系统 |
CN109829094A (zh) * | 2019-01-23 | 2019-05-31 | 钟祥博谦信息科技有限公司 | 分布式爬虫系统 |
CN110912769A (zh) * | 2019-11-12 | 2020-03-24 | 中移(杭州)信息技术有限公司 | Cdn缓存命中率统计方法、系统、网络设备及存储介质 |
CN111767443A (zh) * | 2020-06-11 | 2020-10-13 | 西安石油大学 | 一种高效的网络爬虫分析平台 |
CN112597369A (zh) * | 2020-12-22 | 2021-04-02 | 荆门汇易佳信息科技有限公司 | 基于改良云平台的网页蜘蛛主题式搜索系统 |
-
2017
- 2017-12-07 CN CN201711280557.5A patent/CN108073693A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446396A (zh) * | 2018-10-17 | 2019-03-08 | 珠海市智图数研信息技术有限公司 | 一种垂直业务信息的智能爬虫框架系统 |
CN109829094A (zh) * | 2019-01-23 | 2019-05-31 | 钟祥博谦信息科技有限公司 | 分布式爬虫系统 |
CN110912769A (zh) * | 2019-11-12 | 2020-03-24 | 中移(杭州)信息技术有限公司 | Cdn缓存命中率统计方法、系统、网络设备及存储介质 |
CN110912769B (zh) * | 2019-11-12 | 2021-08-10 | 中移(杭州)信息技术有限公司 | Cdn缓存命中率统计方法、系统、网络设备及存储介质 |
CN111767443A (zh) * | 2020-06-11 | 2020-10-13 | 西安石油大学 | 一种高效的网络爬虫分析平台 |
CN112597369A (zh) * | 2020-12-22 | 2021-04-02 | 荆门汇易佳信息科技有限公司 | 基于改良云平台的网页蜘蛛主题式搜索系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11321214B1 (en) | Detection of anomalous computer behavior | |
CN108073693A (zh) | 一种基于Hadoop的分布式网络爬虫系统 | |
CN104077402B (zh) | 数据处理方法和数据处理系统 | |
CN104717185B (zh) | 短统一资源定位符的展示响应方法、装置、服务器和系统 | |
CN103218431B (zh) | 一种能识别网页信息自动采集的系统 | |
CN110020062B (zh) | 一种可定制的网络爬虫方法及系统 | |
CN102685224B (zh) | 用户行为分析方法及相关设备和系统 | |
CN109040252A (zh) | 文件传输方法、系统、计算机设备和存储介质 | |
CN104363253B (zh) | 网站安全检测方法与装置 | |
CN103714119B (zh) | 一种浏览器数据的处理方法和装置 | |
WO2014180130A1 (en) | Method and system for recommending contents | |
CN114417197A (zh) | 一种访问记录处理方法、装置及存储介质 | |
CN106790593B (zh) | 一种页面处理方法和装置 | |
CN103248677B (zh) | 互联网行为分析系统及其工作方法 | |
CN102750352A (zh) | 浏览器中分类收藏历史访问记录的方法及装置 | |
CN104378389B (zh) | 网站安全检测方法与装置 | |
US9886711B2 (en) | Product recommendations over multiple stores | |
CN109101607B (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
CN109981745A (zh) | 一种日志文件处理方法及服务器 | |
Britvin et al. | Client-server system for parsing data from web pages | |
CN103399871A (zh) | 获取一个主域名相关联的二级域名信息的设备和方法 | |
CN102761628A (zh) | 泛域名识别、处理装置及方法 | |
CN103412944A (zh) | 互联网寻址方法和装置 | |
JP2017516202A (ja) | プロモーション状況データの監視方法、装置、デバイス及び非発揮性コンピューター記憶媒体 | |
Park et al. | Improving tor hidden service crawler performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180525 |