CN111209463A - 互联网数据采集方法及装置 - Google Patents
互联网数据采集方法及装置 Download PDFInfo
- Publication number
- CN111209463A CN111209463A CN202010003299.1A CN202010003299A CN111209463A CN 111209463 A CN111209463 A CN 111209463A CN 202010003299 A CN202010003299 A CN 202010003299A CN 111209463 A CN111209463 A CN 111209463A
- Authority
- CN
- China
- Prior art keywords
- instruction
- internet data
- data acquisition
- directed acyclic
- acyclic graph
- 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
- 238000000034 method Methods 0.000 title claims abstract description 121
- 238000013515 script Methods 0.000 claims abstract description 36
- 238000013480 data collection Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005111 flow chemistry technique Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 241000239290 Araneae Species 0.000 description 2
- 241000760358 Enodes Species 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种互联网数据采集方法及装置。其中,方法包括:接收功能组件的拖拽指令和配置指令,根据拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图;根据有向无环图和各功能组件对应的脚本模板,生成网络爬虫的代码;将网络爬虫的代码发送至客户端,以使得客户端执行网络爬虫的代码,进行互联网数据采集。本发明实施例提供的互联网数据采集方法及装置,通过有向无环图描述互联网数据采集逻辑,通过流程引擎生成网络爬虫的代码,通过客户端执行网络爬虫的代码实现互联网数据采集,不需要进行Python编程,爬虫定义过程无代码、界面更友好,能降低互联网数据采集门槛,能扩大互联网数据采集方法适用范围,更简单、方便。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种互联网数据采集方法及装置。
背景技术
互联网数据采集,是基于HTTP技术,模拟浏览器请求等操作,采集网络上公开发布的网页、图片等资源,解决人工采集工作量大的问题的技术。常用的互联网数据采集技术包括网络爬虫。
Scrapy网络爬虫框架是一种开源Python网络爬虫框架,封装了一系列用于网络请求、文档解析过程,简化爬虫开发,用于采集网络中非结构化数据。开发过程使用流水线方式,适合进行逻辑编排。
目前,基于Scrapy网络爬虫框架进行互联网数据采集时,需要根据采集任务编写Python脚本,实现Scrapy采集逻辑。现有方法步骤比较复杂,需要专业人员编写Python脚本,门槛较高。
发明内容
本发明实施例提供一种互联网数据采集方法及装置,用以解决或者至少部分地解决现有技术存在的复杂、不方便的缺陷。
第一方面,本发明实施例提供一种互联网数据采集方法,包括:
接收功能组件的拖拽指令和配置指令,根据所述拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图;
根据所述有向无环图和各所述功能组件对应的脚本模板,生成网络爬虫的代码;
将所述网络爬虫的代码发送至客户端,以使得所述客户端执行所述网络爬虫的代码,进行互联网数据采集。
优选地,所述接收功能组件的拖拽指令和配置指令,根据所述拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图的具体步骤包括:
接收所述拖拽指令,根据所述拖拽指令,将功能组件拖拽到画布上,作为节点;
接收连接指令,根据所述连接指令连接相应的节点,获得待配置的有向无环图;
接收所述配置指令,根据所述配置指令,对各所述节点进行配置,获得所述有向无环图。
优选地,所述获得所述有向无环图之后,还包括:
将所述有向无环图保存为XML文件。
优选地,所述根据所述有向无环图和各所述功能组件对应的脚本模板,生成网络爬虫的代码的具体步骤包括:
根据所述有向无环图,获取所述数据采集过程对应的执行计划和各配置参数;
根据所述执行计划、所述各配置参数和各所述功能组件对应的脚本模板,生成网络爬虫的代码。
优选地,所述根据所述有向无环图,获取所述数据采集过程对应的执行计划和各配置参数的具体步骤包括:
对所述XML文件进行解析,获取所述数据采集过程对应的执行计划和各配置参数。
优选地,所述对所述XML文件进行解析的具体步骤包括:
提取所述XML文件中的mxCell元素,将每个所述mxCell元素分别构造为ExecuteNode或Edge对象,得到ExecuteNode集合与Edge集合;
根据所述ExecuteNode集合与Edge集合,获取所述数据采集过程对应的执行计划和各配置参数。
优选地,所述接收功能组件的拖拽指令和配置指令之前,还包括:
定义各所述功能组件。
第二方面,本发明实施例提供一种互联网数据采集装置,包括:
采集编辑模块,用于接收功能组件的拖拽指令和配置指令,根据所述拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图;
流程处理模块,用于根据所述有向无环图和各所述功能组件对应的脚本模板,生成网络爬虫的代码;
作业执行模块,用于将所述网络爬虫的代码发送至客户端,以使得所述客户端执行所述网络爬虫的代码,进行互联网数据采集。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,执行所述程序时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的互联网数据采集方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的互联网数据采集方法的步骤。
本发明实施例提供的互联网数据采集方法及装置,通过有向无环图描述互联网数据采集逻辑,流程定义后通过流程引擎生成网络爬虫的代码,通过客户端执行网络爬虫的代码实现互联网数据采集,不需要用户进行Python编程,爬虫定义过程无代码、界面更友好,能降低互联网数据采集门槛,能扩大互联网数据采集方法适用范围,更简单、方便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例提供的互联网数据采集方法的流程示意图;
图2为根据本发明实施例提供的互联网数据采集方法中解析XML文件的流程示意图;
图3为根据本发明实施例提供的互联网数据采集装置的结构示意图;
图4为根据本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了克服现有技术的上述问题,本发明实施例提供一种互联网数据采集方法及装置,其发明构思是,以一种无代码、界面友好的方式实现爬虫定义,降低互联网数据采集门槛,更简单、方便。
图1为根据本发明实施例提供的互联网数据采集方法的流程示意图。如图1所示,该方法包括:步骤S101、接收功能组件的拖拽指令和配置指令,根据拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图。
具体地,将互联网数据采集过程拆解为可解耦的通用逻辑模块(即功能组件),在画布上以块元素展示,使用GUI(图形用户界面,Graphical User Interface)块元素拖拽,在画布上对功能组件进行编排连接,构建一个描述采集过程的有向无环图(DAG,Directedacyclic graph)。
拖拽指令和配置指令,可以基于浏览器进行输入。
功能组件,用于实现某一功能,例如赋值、存储、Html解析和采集等。
用户根据当前数据采集任务,输入相应的拖拽指令。
拖拽指令,用于将某一功能组件拖拽到画布中的某个位置。
可以理解的是,由于互联网数据采集的过程比较复杂,需要多个功能组件,因而步骤S101中接收多条拖拽指令。
需要说明的是,由于互联网数据采集的过程比较复杂,同一个功能组件可能被拖拽多次。
对于被拖拽到画布中的每一功能组件,用户根据当前数据采集任务,输入相应的配置指令。
配置指令,用于对功能组件的动态参数进行配置。
完成拖拽和配置之后,可以得到有向无环图。
有向无环图指的是一个无回路的有向图。
有向无环图中的节点,为功能组件。
有向无环图,将节点按照依赖关系组织,描述每个节点的执行顺序。
因此,根据各功能组件的执行顺序,本发明实施例中的有向无环图,可以描述数据采集过程。
步骤S102、根据有向无环图和各功能组件对应的脚本模板,生成网络爬虫的代码。
具体地,可以将有向无环图翻译为执行计划,以内存对象存储。
执行计划,指各功能组件的执行顺序。
根据执行计划,按照scrapyproject目录结构,使用Freemarker模板引擎动态生成完整的scrapyproject。
Scrapyproject为scrapy爬虫工程,定义了scrapy爬虫逻辑。
Freemarker模板引擎中存储有各功能组件对应的脚本模板。
Freemarker是一种Java模板引擎,使用传入参数将模板渲染为最终数据。本发明实施例中,Freemarker用于生成scrapypython脚本。
可以理解的是,有向无环图中包括各功能组件的动态参数,将每一功能组件的动态参数填入该功能组件对应的脚本模板,可以得到网络爬虫的代码。
Scrapyproject可以包括scrapy.cfg、scrapy_project_template、items.py、pipelines.py、settings.py和spiders等文件。
scrapy.cfg为项目的配置文件,保存项目名称、配置参数。
scrapy_project_template为项目的Python模块,保存python代码。
items.py为项目的items文件,用来加载采集内容的容器。
pipelines.py为项目的pipelines文件,对items进行处理。
settings.py为项目的设置文件,配置参数。
spiders为存储爬虫的目录,定义了爬虫具体采集过程。
按照以上目录要求及文件功能,制作Freemarker动态模板,生成items.py、pipelines.py、settings.py、spiders.py等主要文件。
通过Freemarker方法,将模板中变量、循环、函数调用等逻辑,替换为最终执行的Python代码,作为网络爬虫的代码。
步骤S103、将网络爬虫的代码发送至客户端,以使得客户端执行网络爬虫的代码,进行互联网数据采集。
具体地,通过本地命令调用scrapydclient,向客户端提交scrapyproject。
Scrapydclient,为scrapy爬虫框架客户端,用于打包并创建爬虫作业。
Scrapydclient,与scrapyd进行交互、作业配置。
客户端根据scrapyproject中的网络爬虫的代码,以及预先配置的执行时间,执行网络爬虫的代码,实现互联网数据采集。
可以理解的是,还可以监控客户端的作业执行。
执行网络爬虫的代码,依赖Scrapy框架中scrapyd、scrapyd-client、spiderkeeper组件功能。
Spiderkeeper,用于管理scrapyd服务。
Scrapyd服务,用于接收采集作业,采集网络资源。
通过JavaRuntime调用scrapyd-client系统命令提交步骤S102生成的工程文件,完成scrapyd爬虫部署过程。
已部署的scrapyd爬虫会被spiderkeeper自动监控,可在spiderkeeper上管理执行时间,监控作业执行状态及查看日志,完成整个数据采集过程的闭环。
本发明实施例通过有向无环图描述互联网数据采集逻辑,流程定义后通过流程引擎生成网络爬虫的代码,通过客户端执行网络爬虫的代码实现互联网数据采集,不需要用户进行Python编程,爬虫定义过程无代码、界面更友好,能降低互联网数据采集门槛,能扩大互联网数据采集方法适用范围,更简单、方便。
基于上述各实施例的内容,接收功能组件的拖拽指令和配置指令,根据拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图的具体步骤包括:接收拖拽指令,根据拖拽指令,将功能组件拖拽到画布上,作为节点。
具体地,根据拖拽指令,将每一功能组件拖拽到画布上的指定位置,将该功能组件作为图中的一个节点。
需要说明的是,同一个功能组件可能被拖拽多次,但每次被拖拽的位置不同,因而形成不同的节点。
接收连接指令,根据连接指令连接相应的节点,获得待配置的有向无环图。
具体地,用户根据当前数据采集任务,输入连接指令。
连接指令,用于连接指定的两个节点。
可以理解的是,互联网数据采集的过程比较复杂,需要多个功能组件,因而接收多条连接指令。
根据每条连接指令,将指定的两个节点用线条连接,完成流程编辑,获得待配置的有向无环图。
接收配置指令,根据配置指令,对各节点进行配置,获得有向无环图。
具体地,对于被拖拽到画布中的每一节点,用户根据当前数据采集任务,输入相应的配置指令。
根据配置指令,对该节点进行配置。
完成各节点的配置之后,可以完成对待配置的有向无环图的配置,获得有向无环图。
本发明实施例通过拖拽功能组件得到用于描述互联网数据采集逻辑的有向无环图,从而能根据有向无环图生成网络爬虫的代码,不需要用户进行Python编程,爬虫定义过程无代码、界面更友好,能降低互联网数据采集门槛,能扩大互联网数据采集方法适用范围。
基于上述各实施例的内容,获得有向无环图之后,还包括:将有向无环图保存为XML文件。
具体地,可以利用mxGraph实现功能模块的拖拽和配置。
mxGraph是一种JavaScript类库,提供了基础的图元和绘制方法,封装了绘制过程中的基础操作API。
通过mxGraph等前端技术实现逻辑UI编排,拖拽构建有向无环图描述采集过程,生成XML配置。
通过mxGraphmxEditor接口初始化画布,用于流程编排。
依靠mxGraph画布,通过拖拽组件到指定位置,并使用线条连接,完成流程编辑。
点击画布中的功能组件,在弹框中显示需要补充的动态参数,动态参数保存在mxGraph对象属性中。
使用mxGraphgraph接口获取DAG模型对象,使用mxGraph默认XML编码器得到模型对象XML形式数据(即XML文件)。
mxGraphModel由mxCell子元素组成,使用parent标识依赖节点,组成DAG。edge属性为1表示当前mxCell节点为边。
生成XML文件之后,可以通过Ajax调用RESTFul形式将XML文件传入下一步骤进行处理。
本发明实施例通过将有向无环图保存为XML文件,能更方便地实现根据有向无环图生成网络爬虫的代码,从而能降低互联网数据采集门槛,能扩大互联网数据采集方法适用范围。
基于上述各实施例的内容,根据有向无环图和各功能组件对应的脚本模板,生成网络爬虫的代码的具体步骤包括:根据有向无环图,获取数据采集过程对应的执行计划和各配置参数。
具体地,可以将有向无环图翻译为执行计划,并获取有向无环图中的各功能组件的动态参数。
根据执行计划、各配置参数和各功能组件对应的脚本模板,生成网络爬虫的代码。
具体地,可以通过Kahn算法对各功能组件进行拓扑排序,得到各功能组件的执行顺序。
将每一功能组件的动态参数填入该功能组件对应的脚本模板,并根据各功能组件的执行顺序,可以得到网络爬虫的代码。
本发明实施例通过根据有向无环图生成网络爬虫的代码,不需要用户进行Python编程,爬虫定义过程无代码、界面更友好,能降低互联网数据采集门槛,能扩大互联网数据采集方法适用范围。
基于上述各实施例的内容,根据有向无环图,获取数据采集过程对应的执行计划和各配置参数的具体步骤包括:对XML文件进行解析,获取数据采集过程对应的执行计划和各配置参数。
具体地,数据采集过程对应的执行计划和各配置参数,可以通过解析XML文件获取。
本发明实施例通过解析XML文件获取数据采集过程对应的执行计划和各配置参数,能更方便地实现根据有向无环图生成网络爬虫的代码,从而能降低互联网数据采集门槛,能扩大互联网数据采集方法适用范围。
基于上述各实施例的内容,对XML文件进行解析的具体步骤包括:提取XML文件中的mxCell元素,将每个mxCell元素分别构造为ExecuteNode或Edge对象,得到ExecuteNode集合与Edge集合。
具体地,图2为根据本发明实施例提供的互联网数据采集方法中解析XML文件的流程示意图。如图2所示,解析XML文件的具体步骤包括:
步骤S201、通过解析XML文件,提取XML文件中的mxCell元素,得到所有的mxCell元素。
步骤S202、遍历mxCell元素。
若遍历完成,则结束解析。
若遍历未完成,则执行步骤S203。
步骤S203、判断遍历过程中的当前mxCell元素是否为边。
若是,则将当前mxCell元素转出为Edge对象;若否,则将当前mxCell元素转出为ExecuteNode对象。
可以将各Edge对象组成为Edge集合,将各ExecuteNode对象组成为ExecuteNode集合。
对ExecuteNode进行拓扑排序,处理ExecuteNode依赖关系,形成业务逻辑执行的先后顺序,得到一个按照依赖关系排序后的ExecuteNode集合。
根据ExecuteNode集合与Edge集合,获取数据采集过程对应的执行计划和各配置参数。
具体地,根据按照依赖关系排序后的ExecuteNode集合和Edge集合,可以获取数据采集过程对应的执行计划。
根据各ExecuteNode对象对应的mxCell元素的属性,可以获得各配置参数。
本发明实施例通过解析XML文件获取数据采集过程对应的执行计划和各配置参数,能更方便地实现根据有向无环图生成网络爬虫的代码,从而能降低互联网数据采集门槛,能扩大互联网数据采集方法适用范围。
基于上述各实施例的内容,接收功能组件的拖拽指令和配置指令之前,还包括:定义各功能组件。
具体地,对各功能组件使用JSON进行定义,放入mxGraph中,name指定UI组件展示名称。
定义功能组件,包括定义描述节点图形、名称的元数据。功能组件,可以包括采集节点、变量赋值节点、分支判断节点、循环节点和存储节点。
定义了组件元数据之后,通过mxGraphcell及graph接口将图形添加到mxGraph上下文中。
本发明实施例通过定义功能组件,能实现可视化的网络爬虫定义,不需要用户进行Python编程,爬虫定义过程无代码、界面更友好,能降低互联网数据采集门槛,能扩大互联网数据采集方法适用范围。
图3为根据本发明实施例提供的互联网数据采集装置的结构示意图。基于上述各实施例的内容,如图3所示,该装置包括采集编辑模块301、流程处理模块302和作业执行模块303,其中:
采集编辑模块301,用于接收功能组件的拖拽指令和配置指令,根据拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图;
流程处理模块302,用于根据有向无环图和各功能组件对应的脚本模板,生成网络爬虫的代码;
作业执行模块303,用于将网络爬虫的代码发送至客户端,以使得客户端执行网络爬虫的代码,进行互联网数据采集。
具体地,采集编辑模块301、流程处理模块302和作业执行模块303依次电连接。
采集编辑模块301接收功能组件的拖拽指令和配置指令,根据拖拽指令和配置指令,在画布上对功能组件进行编排连接,构建一个描述采集过程的有向无环图。
流程处理模块302将有向无环图翻译为执行计划,将每一功能组件的动态参数填入该功能组件对应的脚本模板,并根据各功能组件的执行顺序,组合填入动态参数之后的脚本模板,得到网络爬虫的代码。
作业执行模块303将网络爬虫的代码发送至客户端。
客户端根据scrapyproject中的网络爬虫的代码,以及预先配置的执行时间,执行网络爬虫的代码,实现互联网数据采集。
本发明实施例提供的互联网数据采集装置,用于执行本发明上述各实施例提供的互联网数据采集方法,该互联网数据采集装置包括的各模块实现相应功能的具体方法和流程详见上述互联网数据采集方法的实施例,此处不再赘述。
该互联网数据采集装置用于前述各实施例的互联网数据采集方法。因此,在前述各实施例中的互联网数据采集方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
本发明实施例通过有向无环图描述互联网数据采集逻辑,流程定义后通过流程引擎生成网络爬虫的代码,通过客户端执行网络爬虫的代码实现互联网数据采集,不需要用户进行Python编程,爬虫定义过程无代码、界面更友好,能降低互联网数据采集门槛,能扩大互联网数据采集方法适用范围,更简单、方便。
图4为根据本发明实施例提供的电子设备的实体结构示意图。基于上述实施例的内容,如图4所示,该电子设备可以包括:处理器(processor)401、存储器(memory)402和总线403;其中,处理器401和存储器402通过总线403完成相互间的通信;处理器401用于调用存储在存储器402中并可在处理器401上运行的计算机程序指令,以执行上述各方法实施例所提供的互联网数据采集方法,例如包括:接收功能组件的拖拽指令和配置指令,根据拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图;根据有向无环图和各功能组件对应的脚本模板,生成网络爬虫的代码;将网络爬虫的代码发送至客户端,以使得客户端执行网络爬虫的代码,进行互联网数据采集。
本发明另一实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的互联网数据采集方法,例如包括:接收功能组件的拖拽指令和配置指令,根据拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图;根据有向无环图和各功能组件对应的脚本模板,生成网络爬虫的代码;将网络爬虫的代码发送至客户端,以使得客户端执行网络爬虫的代码,进行互联网数据采集。
此外,上述的存储器402中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明另一实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的互联网数据采集方法,例如包括:接收功能组件的拖拽指令和配置指令,根据拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图;根据有向无环图和各功能组件对应的脚本模板,生成网络爬虫的代码;将网络爬虫的代码发送至客户端,以使得客户端执行网络爬虫的代码,进行互联网数据采集。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行上述各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种互联网数据采集方法,其特征在于,包括:
接收功能组件的拖拽指令和配置指令,根据所述拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图;
根据所述有向无环图和各所述功能组件对应的脚本模板,生成网络爬虫的代码;
将所述网络爬虫的代码发送至客户端,以使得所述客户端执行所述网络爬虫的代码,进行互联网数据采集。
2.根据权利要求1所述的互联网数据采集方法,其特征在于,所述接收功能组件的拖拽指令和配置指令,根据所述拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图的具体步骤包括:
接收所述拖拽指令,根据所述拖拽指令,将功能组件拖拽到画布上,作为节点;
接收连接指令,根据所述连接指令连接相应的节点,获得待配置的有向无环图;
接收所述配置指令,根据所述配置指令,对各所述节点进行配置,获得所述有向无环图。
3.根据权利要求2所述的互联网数据采集方法,其特征在于,所述获得所述有向无环图之后,还包括:
将所述有向无环图保存为XML文件。
4.根据权利要求3所述的互联网数据采集方法,其特征在于,所述根据所述有向无环图和各所述功能组件对应的脚本模板,生成网络爬虫的代码的具体步骤包括:
根据所述有向无环图,获取所述数据采集过程对应的执行计划和各配置参数;
根据所述执行计划、所述各配置参数和各所述功能组件对应的脚本模板,生成网络爬虫的代码。
5.根据权利要求4所述的互联网数据采集方法,其特征在于,所述根据所述有向无环图,获取所述数据采集过程对应的执行计划和各配置参数的具体步骤包括:
对所述XML文件进行解析,获取所述数据采集过程对应的执行计划和各配置参数。
6.根据权利要求5所述的互联网数据采集方法,其特征在于,所述对所述XML文件进行解析的具体步骤包括:
提取所述XML文件中的mxCell元素,将每个所述mxCell元素分别构造为ExecuteNode或Edge对象,得到ExecuteNode集合与Edge集合;
根据所述ExecuteNode集合与Edge集合,获取所述数据采集过程对应的执行计划和各配置参数。
7.根据权利要求2至6任一所述的互联网数据采集方法,其特征在于,所述接收功能组件的拖拽指令和配置指令之前,还包括:
定义各所述功能组件。
8.一种互联网数据采集装置,其特征在于,包括:
采集编辑模块,用于接收功能组件的拖拽指令和配置指令,根据所述拖拽指令和配置指令,生成用于描述数据采集过程的有向无环图;
流程处理模块,用于根据所述有向无环图和各所述功能组件对应的脚本模板,生成网络爬虫的代码;
作业执行模块,用于将所述网络爬虫的代码发送至客户端,以使得所述客户端执行所述网络爬虫的代码,进行互联网数据采集。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一所述的互联网数据采集方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一所述的互联网数据采集方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010003299.1A CN111209463B (zh) | 2020-01-02 | 2020-01-02 | 互联网数据采集方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010003299.1A CN111209463B (zh) | 2020-01-02 | 2020-01-02 | 互联网数据采集方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111209463A true CN111209463A (zh) | 2020-05-29 |
CN111209463B CN111209463B (zh) | 2023-11-28 |
Family
ID=70789539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010003299.1A Active CN111209463B (zh) | 2020-01-02 | 2020-01-02 | 互联网数据采集方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209463B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540753A (zh) * | 2020-12-23 | 2021-03-23 | 航天科工智慧产业发展有限公司 | 一种案件特征解析方法 |
CN113282372A (zh) * | 2021-05-31 | 2021-08-20 | 平安国际智慧城市科技股份有限公司 | 数据收集集群的部署方法、装置、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130332449A1 (en) * | 2012-06-06 | 2013-12-12 | Revitas, Inc. | Generating data processing code from a directed acyclic graph |
CN106021257A (zh) * | 2015-12-31 | 2016-10-12 | 广州华多网络科技有限公司 | 一种支持在线编程的爬虫抓取数据方法、装置及系统 |
CN106126648A (zh) * | 2016-06-23 | 2016-11-16 | 华南理工大学 | 一种基于重做日志的分布式商品信息爬虫方法 |
-
2020
- 2020-01-02 CN CN202010003299.1A patent/CN111209463B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130332449A1 (en) * | 2012-06-06 | 2013-12-12 | Revitas, Inc. | Generating data processing code from a directed acyclic graph |
CN106021257A (zh) * | 2015-12-31 | 2016-10-12 | 广州华多网络科技有限公司 | 一种支持在线编程的爬虫抓取数据方法、装置及系统 |
CN106126648A (zh) * | 2016-06-23 | 2016-11-16 | 华南理工大学 | 一种基于重做日志的分布式商品信息爬虫方法 |
Non-Patent Citations (1)
Title |
---|
杨国志;江业峰;: "基于python的聚焦网络爬虫数据采集系统设计与实现" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540753A (zh) * | 2020-12-23 | 2021-03-23 | 航天科工智慧产业发展有限公司 | 一种案件特征解析方法 |
CN113282372A (zh) * | 2021-05-31 | 2021-08-20 | 平安国际智慧城市科技股份有限公司 | 数据收集集群的部署方法、装置、设备以及存储介质 |
CN113282372B (zh) * | 2021-05-31 | 2022-08-26 | 平安国际智慧城市科技股份有限公司 | 数据收集集群的部署方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111209463B (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11698780B2 (en) | Deployment and configuration of an edge site based on declarative intents indicative of a use case | |
US11256484B2 (en) | Utilizing natural language understanding and machine learning to generate an application | |
CN114115852A (zh) | 可视化服务编排方法、装置、设备及介质 | |
CN111861020A (zh) | 模型部署方法、装置、设备及存储介质 | |
CN112036577B (zh) | 基于数据形式的应用机器学习的方法、装置和电子设备 | |
US10545736B1 (en) | Conversion of interpretive language functions into web applications or services | |
CN112199086A (zh) | 自动编程控制系统、方法、装置、电子设备及存储介质 | |
CN112130993A (zh) | 基于图形化建模的电力边缘物联代理边缘计算方法及系统 | |
CN111209463B (zh) | 互联网数据采集方法及装置 | |
CN112148926A (zh) | 一种图数据流的处理方法、处理装置和存储介质 | |
CN108279882B (zh) | 框架生成方法、装置、设备及计算机可读介质 | |
CN112948110B (zh) | 云应用的拓扑与编排系统、方法、存储介质及电子设备 | |
US20220229767A1 (en) | Test script generation apparatus, test script generation method and program | |
CN114265680A (zh) | 一种海量数据处理方法、装置、电子设备及存储介质 | |
CN112351076A (zh) | 推荐系统api的生成方法、装置、电子设备及存储介质 | |
CN115237295A (zh) | 一种可视化拖拽生成流程图的方法、电子设备及介质 | |
CN112861059A (zh) | 可视化组件生成方法、装置、计算机设备及可读存储介质 | |
CN117032668A (zh) | 可视化规则引擎的处理方法、装置、系统及平台 | |
Bhattacharjee et al. | A model-driven approach to automate the deployment and management of cloud services | |
CN117289904A (zh) | 人工智能模型构建方法、系统、设备及存储介质 | |
CN110909888A (zh) | 泛型决策树构建方法、装置、设备及可读存储介质 | |
CN113268232B (zh) | 一种页面皮肤生成方法、装置和计算机可读存储介质 | |
US20130097096A1 (en) | Process entity graphs | |
US20220164207A1 (en) | System for providing an adaptable plugin framework for application transformation to cloud | |
CN115242871A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |