CN112528121A - 一种基于分布式存储的爬虫爬取数据统计方法及系统 - Google Patents
一种基于分布式存储的爬虫爬取数据统计方法及系统 Download PDFInfo
- Publication number
- CN112528121A CN112528121A CN202011624214.8A CN202011624214A CN112528121A CN 112528121 A CN112528121 A CN 112528121A CN 202011624214 A CN202011624214 A CN 202011624214A CN 112528121 A CN112528121 A CN 112528121A
- Authority
- CN
- China
- Prior art keywords
- file
- crawler
- type
- storing
- files
- 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 33
- 238000007619 statistical method Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 9
- 230000011218 segmentation Effects 0.000 claims description 33
- 238000007418 data mining Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式存储的爬虫爬取数据统计方法及系统,方法包括以下步骤:步骤1:将利用爬虫程序从网页中抓取的文件临时存储入Kafka中;步骤2:对Kafka中临时存储的爬虫抓取文件进行文件类型和文件大小的统计,并将统计结果存储入Redis中;步骤3:将统计完类型和大小的爬虫爬取文件上传到FastDFS中,并记录FastDFS返回的每一条文件的存储路径;步骤4:对FastDFS中存储的爬虫爬取文件根据文件类型对文件进行分词,并将分词后的结构化数据存入ElasticSearch中。本发明能够对爬虫爬取的不同文件类型进行类型和大小统计,最终的结构化数据存放在Elasticsearch中,方便日后的检索和查阅或是进一步的数据挖掘。
Description
技术领域
本发明涉及数据存储和统计领域,具体涉及一种基于分布式存储的爬虫爬取数据统计方法及系统。
背景技术
现在是互联网高速发展的时代,互联网中蕴含着海量的信息,但是如何快速的获取我们想要的数据是一个巨大的挑战。传统的搜索引擎网站是获取数据的一个有效的方式,但是它们也存在着各种的限制和局限性,因为它们的数据没有针对性,无法专注到某一方面的数据搜索,如何获得某方面或者某类型的数据需要专业的程序进行处理。
网络爬虫是搜索的一个重要组成部分,爬虫按照既定的爬取规则,自动的抓取互联网中的各种数据,进行索引。爬取的数据包括文字、图片、音频、视频、应用程序、压缩包等各种类型的数据。如何对这些数据进行结构化存储,有效的管理是一个巨大的难题。随着爬虫程序不断的运行,爬取的文本、程序、和多媒体文件在分布式存储系统爆炸式的增长,需要有效的统计和管理,从中获取有效的数据,为人们的决策提供有效的数据支撑是一个很大的难题,而传统的分布式存储没有对文件类型和大小等进行统计和分析。
发明内容
本发明要解决的技术问题是克服现有技术的不足而提供一种基于分布式存储的爬虫爬取数据统计方法及系统,以解决爬虫爬取数据时使用分布式存储统计和分析的难题。
为解决上述技术问题,本发明所采取的技术方案是:
一种基于分布式存储的爬虫爬取数据统计方法,包括以下步骤:
步骤1:将利用爬虫程序从网页中抓取的文件临时存储入Kafka中;
步骤2:对Kafka中临时存储的爬虫抓取文件进行文件类型和文件大小的统计,并将统计结果存储入Redis中;
步骤3:将统计完类型和大小的爬虫爬取文件上传到FastDFS中,并记录FastDFS返回的每一条文件的存储路径;
步骤4:对FastDFS中存储的爬虫爬取文件根据文件类型对文件进行分词,并将分词后的结构化数据存入ElasticSearch中。
进一步的,所述步骤S1中,爬虫程序从网页中抓取的文件包括文本、应用、音频和视频。
进一步的,所述步骤S2具体包括:从Kafka中逐条取出爬虫抓取的文件,对于每一条文件,首先判断该条文件的类型和占用字节大小,然后在Redis中检查爬虫之前是否抓取过这种类型的文件,若抓取过则在Redis中累加这种类型文件的数量和大小,若没有抓取过则在Redis中新建一个key,并将该类型文件的数量和大小存储进去。
进一步的,所述步骤S4中的文件分词具体包括:对于每一条文件,如果是文本数据,则对这条文本数据的内容进行分词,并保存分词结果到ElasticSearch,如果是多媒体文件,则对这条多媒体文件的文件名进行分词,并将文件名和元数据信息存储到ElasticSearch中。
一种基于分布式存储的爬虫爬取数据统计系统,包括Kafka、Redis、FastDFS、Elasticsearch、文件类型及大小统计模块和文件分词模块;
所述Kafka用于临时存储爬虫程序从网页中抓取的文件,所述文件类型及大小统计模块用于对Kafka中临时存储的文件进行文件类型和文件大小的统计,并将统计结果存储入Redis中;所述FastDFS用于存储统计完文件类型和文件大小的爬虫爬取文件,并返回每一个文件的存储路径;所述文件分词模块用于对FastDFS中的爬虫爬取文件进行分词,并将分词后的结构化数据存入ElasticSearch中。
进一步的,所述爬虫程序从网页中抓取的文件包括文本、应用、音频和视频。
进一步的,所述文件类型及大小统计模块逐条从Kafka中取出爬虫抓取文件,对于每一条文件,首先判断该条文件的类型和占用字节大小,然后在Redis中检查爬虫之前是否抓取过这种类型的文件,若抓取过则在Redis中累加这种类型文件的数量和大小,若没有抓取过则在Redis中新建一个key,并将该类型文件的数量和大小存储进去。
进一步的,所述文件分词模块对FastDFS中的爬虫爬取文件根据文件类型进行分词:对于每一条文件,如果是文本数据,则对这条文本数据的内容进行分词,并保存分词结果到ElasticSearch,如果是多媒体文件,则对这条多媒体文件的文件名进行分词,并将文件名和元数据信息存储到ElasticSearch中。
采用上述技术方案所产生的有益效果在于:
本发明基于分布式存储系统FastDFS、分布式全文搜索引擎Elasticsearch、内存式数据库Redis,提供了一种基于分布式存储的爬虫爬取数据统计方法及系统,能够对爬虫爬取的不同文件类型(纯文本、音频、视频、网页、应用程序、App等不同类型的数据)进行类型统计和大小统计,临时数据存放在Redis中,将分析结果(最终的结构化数据)存放在分布式全文搜索引擎Elasticsearch中,方便日后的检索和查阅,或是进一步的数据挖掘。
本发明解决了分布式存储系统FastDFS中无法实时查看系统数据类型和大小的问题,防止数据写满磁盘导致系统宕机,可以实时查看存储系统中文件的占比和统计,帮助使用者对整个分布式系统有个深入了解,极大的方便了用户,提升了办公效率,节约了工作时间。
附图说明
图1是本发明方法的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明提供了一种基于分布式存储的爬虫爬取数据统计方法,包括以下步骤:
步骤1:将利用爬虫程序从网页中抓取的文件临时存储入Kafka中;文件类型包括文本、应用、音频和视频等各种类型。
步骤2:对Kafka中临时存储的爬虫抓取文件进行文件类型和文件大小的统计,并将统计结果存储入Redis中。
具体的,从Kafka中逐条取出爬虫抓取的文件,对于每一条文件,首先判断该条文件的类型和占用字节大小,然后在Redis中检查爬虫之前是否抓取过这种类型的文件,若抓取过则在Redis中累加这种类型文件的数量和大小,若没有抓取过则在Redis中新建一个key,并将该类型文件的数量和大小存储进去。
步骤3:将统计完类型和大小的爬虫爬取文件上传到FastDFS中,并记录FastDFS返回的每一条文件的存储路径。
步骤4:对FastDFS中存储的爬虫爬取文件根据文件类型对文件进行分词,并将分词后的结构化数据存入ElasticSearch中。
文件分词具体包括:对于每一条文件,如果是文本数据,则对这条文本数据的内容进行分词,并保存分词结果到ElasticSearch,如果是多媒体文件,则对这条多媒体文件的文件名进行分词,并将文件名和元数据信息存储到ElasticSearch中。
本发明还提供了一种基于分布式存储的爬虫爬取数据统计系统,包括分布式消息队列Kafka、非关系型数据库Redis、分布式文件系统FastDFS、分布式全文搜索引擎Elasticsearch、文件类型及大小统计模块和文件分词模块;Kafka用于临时存储爬虫程序从网页中抓取的文件,所述文件类型及大小统计模块用于对Kafka中临时存储的文件进行文件类型和文件大小的统计,并将统计结果存储入Redis中;所述FastDFS用于存储统计完文件类型和文件大小的爬虫爬取文件,并返回每一个文件的存储路径;所述文件分词模块用于对FastDFS中的爬虫爬取文件进行分词,并将分词后的结构化数据存入ElasticSearch中。
文件类型及大小统计模块逐条从Kafka中取出爬虫抓取文件,对于每一条文件,首先判断该条文件的类型和占用字节大小,然后在Redis中检查爬虫之前是否抓取过这种类型的文件,若抓取过则在Redis中累加这种类型文件的数量和大小,若没有抓取过则在Redis中新建一个key,并将该类型文件的数量和大小存储进去。
文件分词模块对FastDFS中的爬虫爬取文件根据文件类型进行分词:对于每一条文件,如果是文本数据,则对这条文本数据的内容进行分词,并保存分词结果到ElasticSearch,如果是多媒体文件,则对这条多媒体文件的文件名进行分词,并将文件名和元数据信息存储到ElasticSearch中。
本发明中采用的分布式文件系统FastDFS是一个开源的分布式文件系统,对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。本发明中采用的分布式全文搜索引擎Elasticsearch是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便,用于记录爬虫爬取数据的原始数据信息和FastDFS返回的存储源信息。
本发明用于通用爬虫爬取网页的各种数据进行文件类型归类、索引、文件大小统计。通过对结构化数据的管理,实现了爬虫数据的数据类型的有效整理和分析,从而得到有效的结果,帮助人们对各个网站的数据有更好的了解,对决策和判断提供可靠的数据来源,同时解决了分布式存储系统中而无法有效分析数据占用的问题,使得用户可以及时得到分布式中的实时存储情况,及时删除无用的数据,或者及时对系统进行扩容,防止数据爆炸,导致服务器宕机,对公司造成更严重的经济损失。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (8)
1.一种基于分布式存储的爬虫爬取数据统计方法,其特征在于:所述方法包括以下步骤:
步骤1:将利用爬虫程序从网页中抓取的文件临时存储入Kafka中;
步骤2:对Kafka中临时存储的爬虫抓取文件进行文件类型和文件大小的统计,并将统计结果存储入Redis中;
步骤3:将统计完类型和大小的爬虫爬取文件上传到FastDFS中,并记录FastDFS返回的每一条文件的存储路径;
步骤4:对FastDFS中存储的爬虫爬取文件根据文件类型对文件进行分词,并将分词后的结构化数据存入ElasticSearch中。
2.根据权利要求1所述的基于分布式存储的爬虫爬取数据统计方法,其特征在于:所述步骤S1中,爬虫程序从网页中抓取的文件包括文本、应用、音频和视频。
3.根据权利要求1所述的基于分布式存储的爬虫爬取数据统计方法,其特征在于:所述步骤S2具体包括:从Kafka中逐条取出爬虫抓取的文件,对于每一条文件,首先判断该条文件的类型和占用字节大小,然后在Redis中检查爬虫之前是否抓取过这种类型的文件,若抓取过则在Redis中累加这种类型文件的数量和大小,若没有抓取过则在Redis中新建一个key,并将该类型文件的数量和大小存储进去。
4.根据权利要求1所述的基于分布式存储的爬虫爬取数据统计方法,其特征在于:所述步骤S4中的文件分词具体包括:对于每一条文件,如果是文本数据,则对这条文本数据的内容进行分词,并保存分词结果到ElasticSearch,如果是多媒体文件,则对这条多媒体文件的文件名进行分词,并将文件名和元数据信息存储到ElasticSearch中。
5.一种基于分布式存储的爬虫爬取数据统计系统,其特征在于:所述系统包括Kafka、Redis、FastDFS、Elasticsearch、文件类型及大小统计模块和文件分词模块;
所述Kafka用于临时存储爬虫程序从网页中抓取的文件,所述文件类型及大小统计模块用于对Kafka中临时存储的文件进行文件类型和文件大小的统计,并将统计结果存储入Redis中;所述FastDFS用于存储统计完文件类型和文件大小的爬虫爬取文件,并返回每一个文件的存储路径;所述文件分词模块用于对FastDFS中的爬虫爬取文件进行分词,并将分词后的结构化数据存入ElasticSearch中。
6.根据权利要求5所述的基于分布式存储的爬虫爬取数据统计系统,其特征在于:所述爬虫程序从网页中抓取的文件包括文本、应用、音频和视频。
7.根据权利要求5所述的基于分布式存储的爬虫爬取数据统计系统,其特征在于:所述文件类型及大小统计模块逐条从Kafka中取出爬虫抓取文件,对于每一条文件,首先判断该条文件的类型和占用字节大小,然后在Redis中检查爬虫之前是否抓取过这种类型的文件,若抓取过则在Redis中累加这种类型文件的数量和大小,若没有抓取过则在Redis中新建一个key,并将该类型文件的数量和大小存储进去。
8.根据权利要求5所述的基于分布式存储的爬虫爬取数据统计系统,其特征在于:所述文件分词模块对FastDFS中的爬虫爬取文件根据文件类型进行分词:对于每一条文件,如果是文本数据,则对这条文本数据的内容进行分词,并保存分词结果到ElasticSearch,如果是多媒体文件,则对这条多媒体文件的文件名进行分词,并将文件名和元数据信息存储到ElasticSearch中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011624214.8A CN112528121A (zh) | 2020-12-31 | 2020-12-31 | 一种基于分布式存储的爬虫爬取数据统计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011624214.8A CN112528121A (zh) | 2020-12-31 | 2020-12-31 | 一种基于分布式存储的爬虫爬取数据统计方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112528121A true CN112528121A (zh) | 2021-03-19 |
Family
ID=74977564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011624214.8A Pending CN112528121A (zh) | 2020-12-31 | 2020-12-31 | 一种基于分布式存储的爬虫爬取数据统计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112528121A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763436A (zh) * | 2018-05-25 | 2018-11-06 | 福州大学 | 一种基于ElasticSearch与HBase的分布式数据存储系统 |
CN109284430A (zh) * | 2018-09-07 | 2019-01-29 | 杭州艾塔科技有限公司 | 基于分布式架构的可视化主题网页内容爬取系统及方法 |
CN111309409A (zh) * | 2020-02-26 | 2020-06-19 | 山东爱城市网信息技术有限公司 | 一种api服务调用实时统计方法 |
CN111782595A (zh) * | 2020-05-29 | 2020-10-16 | 中国平安财产保险股份有限公司 | 海量文件管理方法、装置、计算机设备和可读存储介质 |
-
2020
- 2020-12-31 CN CN202011624214.8A patent/CN112528121A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763436A (zh) * | 2018-05-25 | 2018-11-06 | 福州大学 | 一种基于ElasticSearch与HBase的分布式数据存储系统 |
CN109284430A (zh) * | 2018-09-07 | 2019-01-29 | 杭州艾塔科技有限公司 | 基于分布式架构的可视化主题网页内容爬取系统及方法 |
CN111309409A (zh) * | 2020-02-26 | 2020-06-19 | 山东爱城市网信息技术有限公司 | 一种api服务调用实时统计方法 |
CN111782595A (zh) * | 2020-05-29 | 2020-10-16 | 中国平安财产保险股份有限公司 | 海量文件管理方法、装置、计算机设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nguyen et al. | Automatic image filtering on social networks using deep learning and perceptual hashing during crises | |
US9600470B2 (en) | Method and system relating to re-labelling multi-document clusters | |
CN102682082B (zh) | 基于内容结构特征的网络Flash搜索系统及搜索方法 | |
CN110598075A (zh) | 一种基于人工智能的互联网媒体内容安全监测系统及方法 | |
CN101620608A (zh) | 信息采集方法及系统 | |
CN101676907A (zh) | 一种互联网资源定向获取方法及系统 | |
WO2015096609A1 (zh) | 视频资源的倒排索引文件建立方法及其系统 | |
CN110377680B (zh) | 基于网络爬虫和语义识别的山洪灾害数据库构建及更新的方法 | |
US11853217B2 (en) | Multi-cache based digital output generation | |
CN102457817B (zh) | 一种手机报中新闻内容的抽取方法及系统 | |
CN110008419B (zh) | 网页去重方法、装置及设备 | |
Hong et al. | Exploring large scale data for multimedia QA: an initial study | |
CN111460255A (zh) | 一种音乐作品信息数据采集及存储方法 | |
WO2017092355A1 (zh) | 一种数据服务系统 | |
CN112528121A (zh) | 一种基于分布式存储的爬虫爬取数据统计方法及系统 | |
CN111026940A (zh) | 一种面向电网电磁环境的网络舆情及风险信息监测系统、电子设备 | |
CN110020078B (zh) | 一种生成相关性映射字典及其验证相关性的方法和相关装置 | |
CN114706948A (zh) | 新闻处理方法、装置、存储介质以及电子设备 | |
Xu et al. | The application of web crawler in city image research | |
CN106776654B (zh) | 一种数据搜索方法及装置 | |
CN113111244A (zh) | 基于中医药知识规模化普及的多源异构大数据融合系统 | |
CN110569430A (zh) | 一种移动端网络爬虫系统 | |
Sun et al. | Design of a Media Resource Management System for Colleges Based on Cloud Service | |
Qinghua | Application of WebCrawler in Information Search and Data Mining | |
CN107861994B (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 |
Application publication date: 20210319 |
|
RJ01 | Rejection of invention patent application after publication |