CN110134403A - 基于异步http请求的可配置域名解析爬虫框架及方法 - Google Patents
基于异步http请求的可配置域名解析爬虫框架及方法 Download PDFInfo
- Publication number
- CN110134403A CN110134403A CN201910481942.9A CN201910481942A CN110134403A CN 110134403 A CN110134403 A CN 110134403A CN 201910481942 A CN201910481942 A CN 201910481942A CN 110134403 A CN110134403 A CN 110134403A
- Authority
- CN
- China
- Prior art keywords
- module
- domain name
- crawler
- link
- name mapping
- 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.)
- Granted
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/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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于异步HTTP请求的可配置域名解析爬虫框架及方法,包括域名解析控制模块、驱动模块、持久化模块、链接调度模块、爬虫模块和HTTP通讯模块;所述驱动模块与域名解析控制模块、持久化模块盒链接调度模块分别链接,控制数据在不通组件之间交互;所述链接调度模块与HTTP模块数据链接。本发明极大程度的提升了系统运维人员的工作效率。
Description
技术领域
本发明涉及计算机领域,具体涉及一种基于异步HTTP请求的可配置域名解析爬虫框架及方法。
背景技术
随着访问数量的增长及容灾的要求,WEB服务器的部署通常都会向异地多机房的部署方向发展。由此带来一个新的监控难点,如何监控每个机房提供的web服务是否正常。对于单一机房,可以利用爬虫,爬取网站的所有链接,对链接的响应时间、响应代码、响应内容进行检查。目前业内有许多优秀的爬虫框架都能实现此功能。但是,大部分框架都是针对域名进行操作,无法指定爬取指定的机房,无法保证爬虫能够遍历所有的机房。导致系统运维人员工作效率低下。
发明内容
有鉴于此,本发明的目的在于提供一种基于异步HTTP请求的可配置域名解析爬虫框架及方法,极大程度的提升了系统运维人员的工作效率。
为实现上述目的,本发明采用如下技术方案:
一种基于异步HTTP请求的可配置域名解析爬虫框架,包括域名解析控制模块、驱动模块、持久化模块、链接调度模块、爬虫模块和HTTP通讯模块;所述驱动模块与域名解析控制模块、持久化模块盒链接调度模块分别链接,控制数据在不通组件之间交互;所述链接调度模块与HTTP模块数据链接。
进一步的,所述爬虫模块对不同的域名框架创建不同的爬虫组件,爬虫组件负责解析响应对象,抽取响应对象中的链接,或是解析响应对象中的响应内容并包装成处理结果对象。
进一步的,基于异步HTTP请求的可配置域名解析爬虫框架的控制方法,包括以下步骤:
步骤S1:域名解析模块从配置文件或是命令行中读取域名与IP的映射配置,将配置写到操作系统对应文件中;
步骤S2:启动驱动模块,驱动模块从爬虫模块获取入口链接,将链接发送给链接调度模块;
步骤S3:链接调度模块将所有URL请求包装成请求对象数组,并发送给HTTP通讯模块;
步骤S4:HTTP通讯模块接收到请求对象数组,异步请求所有的链接;待所有响应返回后,将响应结果存放到数组中,返回给链路调度模块;
步骤S5:链路调度模块将所有响应封装成响应对象,依据不同的域名,传递给对应的爬虫组件进行处理;
步骤S6:爬虫模块对响应结果进行解析,可以抽取链接返回给驱动模块进行递归爬取,将响应结果中的内容解析成结果对象,返回给驱动模块;
步骤S7:驱动模块将结果对象传递给持久化模块,持久化模块接收到结果对象后,对结果对象进行输出处理。
步骤S8:驱动模块继续将链接传递给链接调度模块,重新开始步骤S3,循环至预设递归次数内没有新的链接产生。
本发明与现有技术相比具有以下有益效果:
1.本发明通过绑定不同的机房IP到域名,让爬虫可以对所有机房的页面进行检查。
2、本发明爬虫采用异步HTTP通讯框架,提高爬虫效率。
附图说明
图1是本发明爬虫框架原理图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图1,本发明提供一种基于异步HTTP请求的可配置域名解析爬虫框架,包括域名解析控制模块、驱动模块、持久化模块、链接调度模块、爬虫模块和HTTP通讯模块;
在本实施例中,域名解析控制,用于控制本地的域名解析结果,会依据当前操作系统类型,配置对应的文件;
驱动模块,用于处理整个系统的数据流,控制数据在不通组件之间交互;
链接调度模块,用于接收驱动模块发送过来的链接,将链接包装成请求对象,依据配置的规则决定链接的请求顺序,并且对链接进行去重处理;模块同时接收HTTP通讯模块返回的响应结果,并将结果封装成响应对象。
HTTP通讯模块,负责接收链路调度模块发送过来的请求,并通过底层的异步通讯框架将请求发送到服务器,待响应后,将响应返回给链路调度模块。
爬虫模块对不同的域名框架创建不同的爬虫组件,爬虫组件负责解析响应对象,抽取响应对象中的链接,或是解析响应对象中的响应内容并包装成处理结果对象。
持久化组件,接收到驱动模块转发过来的结果对象后,负责对象的输出处理,可以写文件,写数据库,或者只是简单的控制台输出。
在本实施例中,基于异步HTTP请求的可配置域名解析爬虫框架的控制方法,包括以下步骤:
步骤S1:域名解析模块从配置文件或是命令行中读取域名与IP的映射配置,将配置写到操作系统对应文件中;
步骤S2:启动驱动模块,驱动模块从爬虫模块获取入口链接,将链接发送给链接调度模块;
步骤S3:链接调度模块将所有URL请求包装成请求对象数组,并发送给HTTP通讯模块;
步骤S4:HTTP通讯模块接收到请求对象数组,异步请求所有的链接;待所有响应返回后,将响应结果存放到数组中,返回给链路调度模块;
步骤S5:链路调度模块将所有响应封装成响应对象,依据不同的域名,传递给对应的爬虫组件进行处理;
步骤S6:爬虫模块对响应结果进行解析,可以抽取链接返回给驱动模块进行递归爬取,将响应结果中的内容解析成结果对象,返回给驱动模块;
步骤S7:驱动模块将结果对象传递给持久化模块,持久化模块接收到结果对象后,对结果对象进行输出处理。
步骤S8:驱动模块继续将链接传递给链接调度模块,重新开始步骤S3,循环至预设递归次数内没有新的链接产生。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (3)
1.一种基于异步HTTP请求的可配置域名解析爬虫框架,其特征在于:包括域名解析控制模块、驱动模块、持久化模块、链接调度模块、爬虫模块和HTTP通讯模块;所述驱动模块与域名解析控制模块、持久化模块盒链接调度模块分别链接,控制数据在不通组件之间交互;所述链接调度模块与HTTP模块数据链接。
2.根据权利要求1所述的基于异步HTTP请求的可配置域名解析爬虫框架,其特征在于:所述爬虫模块对不同的域名框架创建不同的爬虫组件,爬虫组件负责解析响应对象,抽取响应对象中的链接,或是解析响应对象中的响应内容并包装成处理结果对象。
3.根据权利要求1所述的基于异步HTTP请求的可配置域名解析爬虫框架的控制方法,其特征在于,包括以下步骤:
步骤S1:域名解析模块从配置文件或是命令行中读取域名与IP的映射配置,将配置写到操作系统对应文件中;
步骤S2:启动驱动模块,驱动模块从爬虫模块获取入口链接,将链接发送给链接调度模块;
步骤S3:链接调度模块将所有URL请求包装成请求对象数组,并发送给HTTP通讯模块;
步骤S4:HTTP通讯模块接收到请求对象数组,异步请求所有的链接;待所有响应返回后,将响应结果存放到数组中,返回给链路调度模块;
步骤S5:链路调度模块将所有响应封装成响应对象,依据不同的域名,传递给对应的爬虫组件进行处理;
步骤S6:爬虫模块对响应结果进行解析,可以抽取链接返回给驱动模块进行递归爬取,将响应结果中的内容解析成结果对象,返回给驱动模块;
步骤S7:驱动模块将结果对象传递给持久化模块,持久化模块接收到结果对象后,对结果对象进行输出处理;
步骤S8:驱动模块继续将链接传递给链接调度模块,重新开始步骤S3,循环至预设递归次数内没有新的链接产生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910481942.9A CN110134403B (zh) | 2019-06-04 | 2019-06-04 | 基于异步http请求的可配置域名解析爬虫框架及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910481942.9A CN110134403B (zh) | 2019-06-04 | 2019-06-04 | 基于异步http请求的可配置域名解析爬虫框架及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110134403A true CN110134403A (zh) | 2019-08-16 |
CN110134403B CN110134403B (zh) | 2022-08-12 |
Family
ID=67580219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910481942.9A Active CN110134403B (zh) | 2019-06-04 | 2019-06-04 | 基于异步http请求的可配置域名解析爬虫框架及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110134403B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110798545A (zh) * | 2019-11-05 | 2020-02-14 | 中国人民解放军国防科技大学 | 一种基于Web的域名数据获取方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103997524A (zh) * | 2014-05-21 | 2014-08-20 | 浪潮电子信息产业股份有限公司 | 高可用、高可扩展、分布式的模块化网络爬虫 |
US20150341414A1 (en) * | 2014-05-20 | 2015-11-26 | Alibaba Group Holding Limited | Method and system for acquiring web pages |
CN106227885A (zh) * | 2016-08-08 | 2016-12-14 | 星河互联集团有限公司 | 一种大数据的处理方法、装置及终端 |
CN109255063A (zh) * | 2018-08-01 | 2019-01-22 | 宜人恒业科技发展(北京)有限公司 | 一种爬取网页内容的方法和装置 |
-
2019
- 2019-06-04 CN CN201910481942.9A patent/CN110134403B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150341414A1 (en) * | 2014-05-20 | 2015-11-26 | Alibaba Group Holding Limited | Method and system for acquiring web pages |
CN103997524A (zh) * | 2014-05-21 | 2014-08-20 | 浪潮电子信息产业股份有限公司 | 高可用、高可扩展、分布式的模块化网络爬虫 |
CN106227885A (zh) * | 2016-08-08 | 2016-12-14 | 星河互联集团有限公司 | 一种大数据的处理方法、装置及终端 |
CN109255063A (zh) * | 2018-08-01 | 2019-01-22 | 宜人恒业科技发展(北京)有限公司 | 一种爬取网页内容的方法和装置 |
Non-Patent Citations (1)
Title |
---|
孙歆 等: "基于Scrapy的工业漏洞爬虫设计", 《网络空间安全》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110798545A (zh) * | 2019-11-05 | 2020-02-14 | 中国人民解放军国防科技大学 | 一种基于Web的域名数据获取方法 |
CN110798545B (zh) * | 2019-11-05 | 2020-08-18 | 中国人民解放军国防科技大学 | 一种基于Web的域名数据获取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110134403B (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106096056B (zh) | 一种基于分布式的舆情数据实时采集方法和系统 | |
DE102016119186A1 (de) | Verteilte Leistungsüberwachung und Analyse in industriellen Anlagen | |
DE102016119100A9 (de) | Datenanalysedienste für eine verteilte Leistungsüberwachung industrieller Anlagen | |
CN103457818B (zh) | 扩展网桥中的多宿主 | |
CN105204922B (zh) | 一种数据采集平台客户端采集方法 | |
Georgiev et al. | Packet-based control: The H2-optimal solution | |
US7142943B2 (en) | Method and apparatus for controlling a plant | |
US20150169724A1 (en) | Event stream processing system, method and machine-readable storage | |
CN107678869A (zh) | 客户端异常定位方法、装置、计算机设备和存储介质 | |
JP2007058855A (ja) | プロセス制御システムに関連するプロセス制御ログ情報にアクセスするための方法及びシステム | |
EP3847557A1 (en) | Method and system for integrating data from different data sources into a knowledge graph storage unit | |
US10838843B1 (en) | Parsing hierarchical session log data for search and analytics | |
CN110502491A (zh) | 一种日志采集系统及其数据传输方法、装置 | |
Anton et al. | Highly scalable and flexible model for effective aggregation of context-based data in generic IIoT scenarios | |
CN110134403A (zh) | 基于异步http请求的可配置域名解析爬虫框架及方法 | |
CN113986985B (zh) | 能源管理的io读取方法、系统、设备及存储介质 | |
US10554625B2 (en) | Integrated PCS functional competency assessment | |
CN105138385A (zh) | 一种物联网复杂事件处理方法 | |
US9607416B2 (en) | Device for displaying a trend related to a process variable | |
da Silva et al. | An approach for CEP query shipping to support distributed IoT environments | |
CN110365668A (zh) | 网络信息处理方法、装置、设备、介质及系统 | |
CN105095061B (zh) | 一种页面测试方法和设备 | |
CN107181701B (zh) | 公共网关接口数据的收集方法及装置 | |
CN104158848A (zh) | 一种无耦合待办集成的方法及系统 | |
JP2009042995A (ja) | 分散情報流通制御方法及び分散システムとそのサーバ並びにプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |