CN113918142B - 数据采集任务代码生成方法、装置、计算机设备 - Google Patents

数据采集任务代码生成方法、装置、计算机设备 Download PDF

Info

Publication number
CN113918142B
CN113918142B CN202111404561.4A CN202111404561A CN113918142B CN 113918142 B CN113918142 B CN 113918142B CN 202111404561 A CN202111404561 A CN 202111404561A CN 113918142 B CN113918142 B CN 113918142B
Authority
CN
China
Prior art keywords
program
data acquisition
clicking
acquisition task
information
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.)
Active
Application number
CN202111404561.4A
Other languages
English (en)
Other versions
CN113918142A (zh
Inventor
顾杨
叶秀清
陆紫华
王凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qichacha Technology Co ltd
Original Assignee
Qichacha Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qichacha Technology Co ltd filed Critical Qichacha Technology Co ltd
Priority to CN202111404561.4A priority Critical patent/CN113918142B/zh
Publication of CN113918142A publication Critical patent/CN113918142A/zh
Application granted granted Critical
Publication of CN113918142B publication Critical patent/CN113918142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开涉及一种数据采集任务代码生成方法、装置、计算机设备。所述方法包括:在配置界面中输入数据采集任务对应的任务参数,所述配置界面是用于配置所述数据采集任务的界面;利用浏览器应用接口程序中脚本文件和交互文件进行配置点选程序;在目标网站中触发所述点选程序的情况下,通过所述点选程序输出对应的层叠样式选择器;根据所述层叠样式选择器、所述数据采集任务、预先设置的字段代码模板生成所述数据采集任务的代码。采用本方法能够无需人工分析网站的页面结构,减少了错误率,且提高了效率,且通过预先设置的字段代码模板和数据采集任务采集对应的采集代码,能够规范得到的采集代码,便于维护。

Description

数据采集任务代码生成方法、装置、计算机设备
技术领域
本公开涉及计算机技术领域,特别是涉及一种数据采集任务代码生成方法、装置、计算机设备。
背景技术
随着互联网技术的发展,出现了数据采集技术,通过数据采集技术可以对网站中的数据进行采集。
但是数据采集技术在实际采集情况中,通常会需要对批量的网站进行数据采集,需要的采集的网站数目可能是上百也可能是成千甚至是上万,针对这些大批量网站的数据采集,传统人工逐一书写代码的方式费时费力,还容易遇到出现错误,例如通常在采集过程中,需要对采集的元素进行定位,按传统的方式需要人工分析网站页面结构,从而生成数据采集任务的代码,但是这种人工分析网站页面的结构,不仅错误率高,而且效率非常低。而在多个人开发数据采集程序的过程中,每个开发人员的习惯不同导致开发出的程序各不相同,导致最终的数据采集任务的代码各不相同,以后维护时会增加大量的时间成本。
发明内容
基于此,有必要针对上述技术问题,提供一种无需人工分析网站的页面结构并生成统一的数据采集任务的代码的数据采集任务代码生成方法、装置、计算机设备。
第一方面,本公开提供了一种数据采集任务代码生成方法,所述方法包括:
在配置界面中输入数据采集任务对应的任务参数,所述配置界面包括用于配置所述数据采集任务的界面;
利用浏览器应用接口程序中脚本文件和交互文件进行配置点选程序;
在目标网站中触发所述点选程序的情况下,通过所述点选程序输出对应的层叠样式选择器;
根据所述层叠样式选择器、所述数据采集任务、预先设置的字段代码模板生成所述数据采集任务的代码。
在其中一个实施例中,所述利用浏览器应用接口程序中脚本文件和交互文件进行配置点选程序,包括:
在所述脚本文件中加入点选程序文件,所述点选程序文件中包括数据传输方法、目标对象移动方法、点选程序触发方法;
通过所述交互文件调用所述脚本文件中点选程序文件对应的点选程序。
在其中一个实施例中,所述在目标网站中触发所述点选程序的情况下,通过所述点选程序输出对应的层叠样式选择器,包括:
在目标网站中触发所述点选程序的情况下,通过所述点选程序识别目标网站中至少一项目标信息,所述目标信息包括:所述目标网站中链接、文本、标题;
获取目标网站的网站超文本标记语言以及至少一项目标信息所对应的信息超文本标记语言;
根据所述信息超文本标记语言在所述网站超文本标记语言中的位置确定并输出对应的层叠样式选择器。
在其中一个实施例中,所述在目标网站中触发所述点选程序的情况下,通过所述点选程序识别目标网站中至少一项目标信息,包括:
当通过所述点选程序触发方法在所述目标网站中识别到点击操作信息的情况下,通过所述脚本文件将所述点选程序文件对应的点选程序加入至所述目标网站中;
通过所述点选程序触发方法触发所述点选程序;
根据所述目标对象移动方法确定在所述目标网站中输出所述点击操作信息至少一个位置信息;
根据至少一个所述位置信息确定所述目标网站中至少一项目标信息。
在其中一个实施例中,所述预先设置的字段代码模板采用包括下述方式得到:
根据目标网站中内容信息数据确定所述数据采集任务的目标采集字段;
根据所述目标采集字段得到所述预先设置的字段代码模板。
在其中一个实施例中,所述数据采集任务的任务参数至少包括:数据采集任务名称、业务名称、预先设置的字段代码模板的名称、开始统一资源定位系统、请求方式、请求编码、请求头。
在其中一个实施例中,所述在所述配置界面中输入数据采集任务参数之前,包括:
通过超文本标记语言、脚本语言、层叠样式表生成所述配置界面,所述配置界面中包括所述数据采集任务参数的输入框、所述数据采集任务参数的选择框以及数据采集任务对应的操作按钮。
在其中一个实施例中,所述根据所述层叠样式选择器、所述数据采集任务、预先设置的字段代码模板生成所述数据采集任务的代码,包括:
通过所述数据采集任务采集所述层叠样式选择器对应的信息,得到采集配置信息;
将所述采集配置信息与所述预先设置的字段代码模板中的目标采集字段进行匹配,生成所述数据采集任务的代码。
第二方面,本公开还提供了一种数据采集任务代码生成装置。所述装置包括:
参数输入模块,用于在配置界面中输入数据采集任务参数,所述配置界面包括用于配置所述数据采集任务的界面;
程序配置模块,用于利用浏览器应用接口程序中脚本文件和交互文件进行配置点选程序;
选择器输出模块,用于在目标网站中触发所述点选程序的情况下,通过所述点选程序输出对应的层叠样式选择器;
代码生成模块,用于根据所述层叠样式选择器、所述数据采集任务、预先设置的字段代码模板生成所述数据采集任务的代码。
第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
上述数据采集任务代码生成方法、装置、计算机设备,通过在配置界面输入任务参数后,能后根据任务参数实现数据采集任务的功能,且根据不同的需要可以灵活的调整任务参数,无需针对每个需要采集的目标网站设置固定的数据采集任务,能够兼容不同的目标网站。且通过脚本文件和交互文件进行配置点选程序能够在目标网站中识别对应的单击操作,从而确定用户需要采集的数据对应位置,便于操作,且输出层叠样式选择器后,无需人工分析网站的页面结构,减少了错误率,且提高了效率。并且通过层叠样式选择器可以定位需要采集的元素的位置,进而通过预先设置的字段代码模板和数据采集任务采集对应的采集代码,能够规范得到的采集代码,在后期维护时因为使用的是统一的预先设置的字段代码模板,所以能够便于维护。
附图说明
图1为一个实施例中数据采集任务代码生成方法的应用环境示意图;
图2为一个实施例中数据采集任务代码生成方法的流程示意图;
图3为一个实施例中S204步骤的流程示意图;
图4为一个实施例中S206步骤的流程示意图;
图5为一个实施例中S402步骤的流程示意图;
图6为一个实施例中数据采集任务代码生成装置的结构示意框图;
图7为一个实施例中计算机设备的内部结构示意图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本公开实施例提供的数据采集任务代码生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102在服务器104中设置的浏览器的配置界面中输入数据采集任务对应的任务参数。其中服务器104中设置的浏览器的配置界面包括用于配置数据采集任务的界面。终端102利用服务器104中浏览器的浏览器应用接口程序中的脚本文件和交互文件进行配置点选程序。终端102在需要采集代码的目标网站中执行点击操作,并触发点选程序的情况下,服务器104通过终端102配置完成的点选程序输出层叠样式选择器。终端102根据服务器104通过点选程序输出的层叠样式选择器、所述数据采集任务、以及终端102或者服务器104预设的字段代码模板生成数据采集任务的代码。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据采集任务代码生成方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
S202,在配置界面中输入数据采集任务对应的任务参数,所述配置界面包括用于配置所述数据采集任务的界面。
其中,数据采集任务通常可以是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。任务参数可以是数据采集任务实现时需要设置的某些条件、通过设置这些条件后可以实现需要数据采集任务采集数据的功能。配置界面通常可以是devtools.js的界面,其可以是在浏览器的开发者模式中显示开发者面板的界面内容的界面,在本实施例中其可以是包括了配置数据采集任务的界面。
具体地,在配置界面的输入框中输入对应的数据采集任务对应的任务参数,输入数据采集任务对应的数据参数后,可以在配置界面根据输入的任务参数配置对应的数据采集任务,使得数据采集任务能够实现采集任务的功能。需要说明的是,本领域技术人员可根据不同任务的需要灵活的调整任务参数以实现数据采集任务不同功能。
S204,利用浏览器应用接口程序中脚本文件和交互文件进行配置点选程序。
其中,浏览器应用接口程序通常情况下可以指浏览器插件,能够对浏览器进行一些功能上的扩展。脚本文件通常情况下可以是Content.js文件,其是可以在Web(WorldWide Web)页面内运行的java script脚本,可以是浏览器插件运行时注入到对应的网站页面中,通过该js可以实现插件与页面之间的互动。交互文件通常情况下可以是Background.js,Background.js是一个可以实现与其他页面交互的js,如通过Background.js可以实现与Content.js的交互动作。点选程序通常情况下可以是能够识别浏览器中光标在某个页面的点击操作和移动操作的插件。
具体地,首先根据浏览器插件的开发流程,开发浏览器插件,可以使用manifest.json、content.js、background.js、devtools.js等文件开发浏览器插件。manifest.json文件中主要配置了浏览器插件名称、描述、版本号,浏览器插件的权限,浏览器图标,以及浏览器插件加载的时候需要加载的文件。然后利用浏览器插件中的Content.js和Background.js文件配置点选程序,使得能够识别光标在浏览器中的各种操作,如单击、移动操作等。
S206,在目标网站中触发所述点选程序的情况下,通过所述点选程序输出对应的层叠样式选择器。
其中,层叠样式选择器通常可以指的是CSS(Cascading Style Sheets)选择器,是用于选择想要的元素的样式的模式。可以通过CSS选择器使用CSS对HTML页面中的元素实现一对一,一对多或者多对一的控制。
具体地,在通过目标网站检测到的单击操作(单击操作可以是通过鼠标点击、可以通过触摸笔点击、也可以通过手势点击、还可以通过其他人机交互方式来实现)时,可以证明在目标网站中触发了点选程序,此时通过该点选程序识别对应触发在目标网站中触发点选程序处的CSS选择器,并输出该CSS选择器。
S208,根据所述层叠样式选择器、所述数据采集任务、预先设置的字段代码模板生成所述数据采集任务的代码。
其中,预先设置的字段代码模板通常可以是通用的根据需要采集的维度设置的统一的某个相同类型的网站中的代码模板。
具体地,根据在目标网站中输出的CSS选择器,并通过数据采集任务采集CSS选择器,生成CSS选择器位置对应的采集配置信息,将采集配置信息与预先设置的字段代码模板进行匹配,匹配后将对应的采集配置信息输入至预先设置的字段代码模板中,通过输入采集配置信息后的预先设置的字段代码模板生成数据采集任务的代码。
上述数据采集任务代码生成方法中,通过在配置界面输入任务参数后,能后根据任务参数实现数据采集任务的功能,且根据不同的需要可以灵活的调整任务参数,无需针对每个需要采集的目标网站设置固定的数据采集任务,能够兼容不同的目标网站。且通过脚本文件和交互文件进行配置点选程序能够在目标网站中识别对应的单击操作,从而确定用户需要采集的数据的对应位置,便于操作,且输出层叠样式选择器后,无需人工分析网站的页面结构,减少了错误率,且提高了效率。并且通过层叠样式选择器可以定位需要采集的元素的位置,进而通过预先设置的字段代码模板和数据采集任务采集对应的采集代码,能够规范得到的采集代码,在后期维护时因为使用的是统一的预先设置的字段代码模板,所以能够便于维护。
在一个实施例中,如图3所示,所述利用浏览器应用接口程序中脚本文件和交互文件进行配置点选程序,包括:
S302,在所述脚本文件中加入点选程序文件,所述点选程序文件中包括数据传输方法、目标对象移动方法、点选程序触发方法。
其中,数据传输方法通常可以是将通过点选程序选择的位置的信息输出至对应的交互文件中的方法。目标对象移动方法通常可以是识别在目标网站中鼠标或者光标移动的方法。点选程序触发方法通常可以是识别在目标网站中出现单击操作或者点击操作的方法。
具体地,在脚本文件中注入点选程序文件,使得点选程序能够在浏览器插件运行的情况下通过脚本文件与网站页面进行交互。可以通过点选程序文件中的目标对象移动方法确定鼠标或者光标的位置,进而当通过点选程序触发方法识别到出现单击操作或者点击操作的情况下,确定当前位置并通过数据传输方法将点选程序识别到的位置信息输出至交互文件中。
S304,通过所述交互文件调用所述脚本文件中点选程序文件对应的点选程序。
具体地,当需要触发点选程序时,因为点选程序和网站页面不属于同一界面,所以在网站界面中进行单击操作时,需要通过交互文件与脚本文件进行交互,从而调用点选程序文件中的点选程序。
本实施例中,通过在脚本文件中加点选程序文件,能够在网站中实现点选的功能,从而识别到对应的点击的位置信息,进而通过脚本文件与交互文件进行交互,能够实现网站的网页中与点选程序的交互。
在一个实施例中,如图4所示,所述在目标网站中触发所述点选程序的情况下,通过所述点选程序输出对应的层叠样式选择器,包括:
S402,在目标网站中触发所述点选程序的情况下,通过所述点选程序识别目标网站中至少一项目标信息,所述目标信息包括:所述目标网站中链接、文本、标题。
其中,目标信息可以是需要获取的网站中的各种信息。
具体地,在通过目标网站检测到的单击操作时,可以证明在目标网站中触发了点选程序。触发点选程序后,可以通过点选程序文件中的各种方法,可以包括数据传输方法、目标对象移动方法、点选程序触发方法,识别在目标网站中点击的目标信息。其中目标信息可以包括目标网站中的链接信息、文本信息、标题信息、详情页链接、详情页内容等,可以是目标网站中显示出的信息。需要说明的是,此处的目标信息仅仅以上述几种进行举例,但是并不限制于上述几种,本领域技术人员可根据实际情况获取其他种类的目标信息。
S404,获取目标网站的网站超文本标记语言以及至少一项目标信息所对应的信息超文本标记语言。
S406,根据所述信息超文本标记语言在所述网站超文本标记语言中的位置确定并输出对应的层叠样式选择器。
其中,超文本标记语言通常可以是HTML(Hyper Text Markup Language)语言,是一种标记语言,它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。
具体地,通过点选程序识别到目标信息后,可以通过数据采集任务获得该目标信息相对于该网站的超文本标记语言,然后统计该目标信息的超文本标记语言相对于该网站页面的位置,即得到了对应的CSS选择器并输出。通过交互文件调用脚本文件中点选程序文件的数据传输方法,将网页中的确定CSS选择器提取到点选程序中,进而可以通过点选程序将该获取的CSS选择器输入至配置界面的数据采集任务的输出框中。
输出层叠样式选择器的方式可以包括:通过所述交互文件调用所述脚本文件中点选程序文件中的数据传输方法,通过所述数据传输方法将所述层叠样式选择器传输至所述配置界面对应的数据采集任务参数的输出框中。
在一些实施方式中,比如点击了目标网站中的一个元素,然后通过jquery的方式得到了该元素的HTML语言为#container>div>div.title>div.sth_a>span:nth-child(5),即可以得到点击的元素。
在本实施例中,通过点选程序和超文本标记语言的方式能够确定在目标网站中点击的元素或者目标信息的位置,从而获取对应的CSS选择器,可以通过CSS选择器对采集的元素或者目标信息进行定位,无需人工分析网站页面结构,提高了生成数据采集任务的代码的效率。
在一个实施例中,如图5所示,所述在目标网站中触发所述点选程序的情况下,通过所述点选程序识别目标网站中至少一项目标信息,包括:
S502,当通过所述点选程序触发方法在所述目标网站中识别到点击操作信息的情况下,通过所述脚本文件将所述点选程序文件对应的点选程序加入至所述目标网站中。
S504,通过所述点选程序触发方法触发所述点选程序。
S506,根据所述目标对象移动方法确定在所述目标网站中输出所述点击操作信息至少一个位置信息。
S508,根据至少一个所述位置信息确定所述目标网站中至少一项目标信息。
具体地,当在目标网站中执行单击操作时,通过点选程序触发方法可以识别到点击操作信息,当识别到点击操作信息的情况下,此时可以执行点选程序,可以通过脚本文件进行网页与点选程序之间的交互,将点选程序文件对应的点选程序加入到目标网站中。然后识别到点击操作时,对应的执行点选程序触发方法触发点选程序。然后通过点选程序中的目标对象移动方法确定在目标网站中执行单击操作的位置信息,该位置信息可以是一个也可以是多个。进而根据该位置信息通过数据采集任务确定在网站中该位置信息对应的目标信息。
在本实施例中,通过点选程序能够获取单击操作对应的位置信息,进而确定需要提取的目标信息,操作方便,无需编辑代码。
在一个实施例中,所述预先设置的字段代码模板采用包括下述方式得到:
根据目标网站中内容信息数据确定所述数据采集任务的目标采集字段;
根据所述目标采集字段得到所述预先设置的字段代码模板。
具体地,进入目标网站,判断该目标网站的内容信息,如该网站是否存在分页,是否存在标题、发布时间、详情页连接、详情页内容等等字段。可以再获取与该目标网站类型对应网站,再进行判断该网站的内容信息,将相同的内容信息进行记录,从而可以根据相同的内容信息确定相同类型的数据采集任务的目标采集字段。
然后根据确定的目标采集字段设置字段代码模板,可以得到预先设置的字段代码模板,在数据采集的过程中可以选择该字段模板统一生成代码。若在需要采集的另外一个网站多出来同类型网站中没有的内容信息的情况下,则评估是否需要采集该未出现的内容信息,倘若需要采集未出现的内容信息,则额外在字段代码模板中添加这个内容信息。
同一类型的目标网站可以共用一个字段代码模板,有利于代码的集中式管理,也方便于日后的管理和维护。
在本实施例中,通过相同类型的网站设置相同模板,能够在下一次识别该同类型网站时,无需再次判断信息,进而再次构建字段代码模板,提升效率,若要获取同类型的目标网站中其他网站未出现的内容信息时,仅需添加需要获取的内容信息,便于操作。
在一个实施例中,所述数据采集任务的任务参数至少包括:数据采集任务名称、业务名称、预先设置的字段代码模板的名称、开始统一资源定位系统、请求方式、请求编码、请求头等。
其中,统一资源定位系统通常可以指的是URL(uniform resource locator),可以是因特网的万维网服务程序上用于指定信息位置的表示方法。请求方式、请求编码、请求头通常情况下可以是HTTP(HyperText Transfer Protocol)协议中的内容,能够建立与目标网站建立通信连接。
数据采集任务的任务参数通常可以看成是生成数据采集任务的代码时需要设置的相关配置信息,比如要采集某一网站的某些信息的时候,就需要配置这个数据采集任务的名称,需要采集的网站地址是什么,URL是什么,请求方式、请求编码、请求头是什么等等的任务参数,能够根据这些配置的任务参数生成对应的网站的采集配置信息。
需要说明的,数据采集任务的任务参数还可以包括目标网站有无分页、目标网站中返回内容等,本领域技术人员可根据目标网站的具体情况选择的设置任务参数。
在本实施例中,通过设置数据采集任务的任务参数能够针对不同的目标网站实现对应不同的数据采集任务的功能,灵活性更高。
在一个实施例中,所述在所述配置界面中输入数据采集任务参数之前,包括:
通过超文本标记语言、脚本语言、层叠样式表生成所述配置界面,所述配置界面中包括所述数据采集任务参数的输入框、所述数据采集任务参数的选择框以及数据采集任务对应的操作按钮。
其中,脚本语言通常可以是js语言,js语言是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
具体地,通过HTML、js语言以及CSS生成配置界面。配置界面中可以包括数据采集任务的名称、业务名称等输入框和选择框,以及相关操作按钮,如确定,删除,修改,保存等。
需要说明的是,此处仅仅以上述几种进行举例,在实际操作过程中本领域技术人员可根据需要来对应的增加配置界面中的各种输入框以及相关操作按钮等。
在本实施例中,通过创建的配置界面,对数据采集任务进行可视化操作,可以更加直观的看到数据采集任务的实现过程,便于根据不同目标网站调整对应的数据采集任务。
在一个实施例中,所述根据所述层叠样式选择器、所述数据采集任务、预先设置的字段代码模板生成所述数据采集任务的代码,包括:
通过所述数据采集任务采集所述层叠样式选择器对应的信息,得到采集配置信息。
其中,层叠样式选择器对应的信息通常可以是在目标网站中找到该CSS选择器对应的位置所在的信息。采集配置信息通常可以是需要使用数据采集任务采集对应的位置从而配置的任务参数。
具体地,通过层叠样式选择器确定在目标网站中需要采集的信息的位置,通过数据采集任务采集通过层叠样式选择器确定的位置中的数据,生成对应的采集配置信息,采集配置信息可以包括请求URL,请求方法,CSS选择器等。
将所述采集配置信息与所述预先设置的字段代码模板中的目标采集字段进行匹配,生成所述数据采集任务的代码。
具体地,将采集配置信息与预先设置的字段代码模板中的目标采集字段进行匹配,若目标采集字段与采集配置信息采集到的字段相同,则将该相同的采集配置信息填入字段代码模板中对应的位置,所有采集配置信息填入完成后,根据填入完成采集配置信息的字段代码模板生成数据采集任务的代码。
在本实施例中,将采集配置信息与预先设置的字段代码模板中的目标采集字段进行匹配能够确定目标网站中需要采集的字段对应的采集代码,便于统一维护和管理。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的数据采集任务代码生成方法的数据采集任务代码生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据采集任务代码生成装置实施例中的具体限定可以参见上文中对于数据采集任务代码生成方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种数据采集任务代码生成装置600,包括:参数输入模块602、程序配置模块604、选择器输出模块606、代码生成模块608,其中:
参数输入模块602,用于在配置界面中输入数据采集任务参数,所述配置界面包括用于配置所述数据采集任务的界面。
程序配置模块604,用于利用浏览器应用接口程序中脚本文件和交互文件进行配置点选程序。
选择器输出模块606,用于在目标网站中触发所述点选程序的情况下,通过所述点选程序输出对应的层叠样式选择器。
代码生成模块608,用于根据所述层叠样式选择器、所述数据采集任务、预先设置的字段代码模板生成所述数据采集任务的代码。
在所述装置的其中一个实施例中,程序配置模块604包括:程序文件添加模块、点选程序调用模块,其中:
程序文件添加模块,用于在所述脚本文件中加入点选程序文件,所述点选程序文件中包括数据传输方法、目标对象移动方法、点选程序触发方法。
点选程序调用模块,用于通过所述交互文件调用所述脚本文件中点选程序文件对应的点选程序。
在所述装置的其中一个实施例中,所述选择器输出模块606包括:目标信息识别模块、目标信息匹配模块、选择器确定模块,其中:
目标信息识别模块,用于在目标网站中触发所述点选程序的情况下,通过所述点选程序识别目标网站中至少一项目标信息,所述目标信息包括:所述目标网站中链接、文本、标题。
目标信息匹配模块,用于获取目标网站的网站超文本标记语言以及至少一项目标信息所对应的信息超文本标记语言。
选择器确定模块,用于根据所述信息超文本标记语言在所述网站超文本标记语言中的位置确定并输出对应的层叠样式选择器。
选择器确定模块还可以用于通过所述交互文件调用所述脚本文件中点选程序文件中的数据传输方法,通过所述数据传输方法将所述层叠样式选择器传输至所述配置界面对应的数据采集任务参数的输出框中。
在所述装置的其中一个实施例中,目标信息识别模块包括:点击操作识别模块、点选程序添加模块、点选程序触发模块、位置信息确定模块、目标信息确定模块,其中:
点选操作识别模块,用于通过所述点选程序触发方法在所述目标网站中识别到点击操作信息。
点选程序添加模块,用于通过所述脚本文件将所述点选程序文件对应的点选程序加入至所述目标网站中。
点选程序触发模块,用于通过所述点选程序触发方法触发所述点选程序。
位置信息确定模块,用于根据所述目标对象移动方法确定在所述目标网站中输出所述点击操作信息至少一个位置信息。
目标信息确定模块,用于根据至少一个所述位置信息确定所述目标网站中至少一项目标信息。
在所述装置的其中一个实施例中,所述装置还包括:字段确定模块、字段代码模板生成模块,其中:
字段确定模块,用于根据目标网站中内容信息数据确定所述数据采集任务的目标采集字段。
字段代码模板生成模块,用于根据所述目标采集字段得到所述预先设置的字段代码模板。
在所述装置的一个实施例中,所述数据采集任务的任务参数至少包括:数据采集任务名称、业务名称、预先设置的字段代码模板的名称、开始统一资源定位系统、请求方式、请求编码、请求头。
在所述装置的一个实施例中,所述装置还包括:配置界面生成模块,用于通过超文本标记语言、脚本语言、层叠样式表生成所述配置界面,所述配置界面中包括所述数据采集任务参数的输入框、所述数据采集任务参数的选择框以及数据采集任务对应的操作按钮。
在所述装置的一个实施例中,所述代码生成模块608包括:采集代码确定模块,采集代码匹配模块,其中:
采集代码确定模块,用于通过所述数据采集任务采集所述层叠样式选择器对应的信息,得到采集配置信息。
采集代码匹配模块,用于将所述采集配置信息与所述预先设置的字段代码模板中的目标采集字段进行匹配,生成所述数据采集任务的代码。
上述数据采集任务代码生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据采集任务代码生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,通过该显示屏能够显示最终输出的数据采集任务的代码。该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等,通过该计算机设备的输入装置可以实现单击操作。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本公开所涉及的目标采集字段以及目标网站中的各种信息,均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本公开所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本公开所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据采集任务代码生成方法,其特征在于,所述方法包括:
在配置界面中输入数据采集任务对应的任务参数,所述配置界面包括用于配置所述数据采集任务的界面;
利用浏览器应用接口程序中脚本文件和交互文件进行配置点选程序;
所述利用浏览器应用接口程序中脚本文件和交互文件进行配置点选程序,包括:
在所述脚本文件中加入点选程序文件,所述点选程序文件中包括数据传输方法、目标对象移动方法、点选程序触发方法;
通过所述交互文件调用所述脚本文件中点选程序文件对应的点选程序;
在目标网站中触发所述点选程序的情况下,通过所述点选程序输出对应的层叠样式选择器;
根据所述层叠样式选择器、所述数据采集任务、预先设置的字段代码模板生成所述数据采集任务的代码。
2.根据权利要求1所述的数据采集任务代码生成方法,其特征在于,所述在目标网站中触发所述点选程序的情况下,通过所述点选程序输出对应的层叠样式选择器,包括:
在目标网站中触发所述点选程序的情况下,通过所述点选程序识别目标网站中至少一项目标信息,所述目标信息包括:所述目标网站中链接、文本、标题;
获取目标网站的网站超文本标记语言以及至少一项目标信息所对应的信息超文本标记语言;
根据所述信息超文本标记语言在所述网站超文本标记语言中的位置确定并输出对应的层叠样式选择器。
3.根据权利要求2所述的数据采集任务代码生成方法,其特征在于,所述在目标网站中触发所述点选程序的情况下,通过所述点选程序识别目标网站中至少一项目标信息,包括:
当通过所述点选程序触发方法在所述目标网站中识别到点击操作信息的情况下,通过所述脚本文件将所述点选程序文件对应的点选程序加入至所述目标网站中;
通过所述点选程序触发方法触发所述点选程序;
根据所述目标对象移动方法确定在所述目标网站中输出所述点击操作信息至少一个位置信息;
根据至少一个所述位置信息确定所述目标网站中至少一项目标信息。
4.根据权利要求1所述的数据采集任务代码生成方法,其特征在于,所述预先设置的字段代码模板采用包括下述方式得到:
根据目标网站中内容信息数据确定所述数据采集任务的目标采集字段;
根据所述目标采集字段得到所述预先设置的字段代码模板。
5.根据权利要求1至4任意一项所述的数据采集任务代码生成方法,其特征在于,所述数据采集任务的任务参数至少包括:数据采集任务名称、业务名称、预先设置的字段代码模板的名称、开始统一资源定位系统、请求方式、请求编码、请求头。
6.根据权利要求1所述的数据采集任务代码生成方法,其特征在于,在所述配置界面中输入数据采集任务参数之前,包括:
通过超文本标记语言、脚本语言、层叠样式表生成所述配置界面,所述配置界面中包括所述数据采集任务参数的输入框、所述数据采集任务参数的选择框以及数据采集任务对应的操作按钮。
7.根据权利要求4所述的数据采集任务代码生成方法,其特征在于,所述根据所述层叠样式选择器、所述数据采集任务、预先设置的字段代码模板生成所述数据采集任务的代码,包括:
通过所述数据采集任务采集所述层叠样式选择器对应的信息,得到采集配置信息;
将所述采集配置信息与所述预先设置的字段代码模板中的目标采集字段进行匹配,生成所述数据采集任务的代码。
8.一种数据采集任务代码生成装置,其特征在于,所述装置包括:
参数输入模块,用于在配置界面中输入数据采集任务参数,所述配置界面包括用于配置所述数据采集任务的界面;
程序配置模块,用于利用浏览器应用接口程序中脚本文件和交互文件进行配置点选程序;
程序配置模块包括:程序文件添加模块、点选程序调用模块,其中:
程序文件添加模块,用于在所述脚本文件中加入点选程序文件,所述点选程序文件中包括数据传输方法、目标对象移动方法、点选程序触发方法;
点选程序调用模块,用于通过所述交互文件调用所述脚本文件中点选程序文件对应的点选程序;
选择器输出模块,用于在目标网站中触发所述点选程序的情况下,通过所述点选程序输出对应的层叠样式选择器;
代码生成模块,根据所述层叠样式选择器、所述数据采集任务、预先设置的字段代码模板生成所述数据采集任务的代码。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202111404561.4A 2021-11-24 2021-11-24 数据采集任务代码生成方法、装置、计算机设备 Active CN113918142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111404561.4A CN113918142B (zh) 2021-11-24 2021-11-24 数据采集任务代码生成方法、装置、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111404561.4A CN113918142B (zh) 2021-11-24 2021-11-24 数据采集任务代码生成方法、装置、计算机设备

Publications (2)

Publication Number Publication Date
CN113918142A CN113918142A (zh) 2022-01-11
CN113918142B true CN113918142B (zh) 2024-03-15

Family

ID=79248265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111404561.4A Active CN113918142B (zh) 2021-11-24 2021-11-24 数据采集任务代码生成方法、装置、计算机设备

Country Status (1)

Country Link
CN (1) CN113918142B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2962237A1 (fr) * 2010-07-02 2012-01-06 Nais Inf & Telecom Procede de creation d'un logiciel de type gadget incorpore a un conteneur de type widget
CN109840298A (zh) * 2018-12-29 2019-06-04 中国科学院计算技术研究所 大规模网络数据的多信息来源采集方法和系统
CN112667872A (zh) * 2020-11-17 2021-04-16 国家计算机网络与信息安全管理中心 新冠肺炎疫情数据的实时采集方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2962237A1 (fr) * 2010-07-02 2012-01-06 Nais Inf & Telecom Procede de creation d'un logiciel de type gadget incorpore a un conteneur de type widget
CN109840298A (zh) * 2018-12-29 2019-06-04 中国科学院计算技术研究所 大规模网络数据的多信息来源采集方法和系统
CN112667872A (zh) * 2020-11-17 2021-04-16 国家计算机网络与信息安全管理中心 新冠肺炎疫情数据的实时采集方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
用Javabean构建数据过滤的Script代码生成器;林达德;;宁波职业技术学院学报(05);全文 *

Also Published As

Publication number Publication date
CN113918142A (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
US11354493B2 (en) Table cell editing in a spreadsheet constrained to unbounded and searchable lists of values from web service
EP2649536B1 (en) Codeless sharing of spreadsheet objects
CN107678943B (zh) 抽象页面对象的页面自动化测试方法
US10175954B2 (en) Method of processing big data, including arranging icons in a workflow GUI by a user, checking process availability and syntax, converting the workflow into execution code, monitoring the workflow, and displaying associated information
US9959257B2 (en) Populating visual designs with web content
CN104142826A (zh) 页面的构建方法、装置及系统
US20160380915A1 (en) Rules-Based Workflow Messaging
JP6813634B2 (ja) グラフィックインタフェースに基づく、イベント動作をプログラミングするwebレポーティングデザインシステム
US11443109B2 (en) Interactive data entry validation and problem correction in a table component in a spreadsheet driven by a web service
CN108595697B (zh) 网页集成方法、装置及系统
US20180300351A1 (en) System and Method for Display of Document Comparisons on a Remote Device
CN112711418B (zh) 多组件的前端界面布局方法、装置、电子设备和存储介质
US11556702B2 (en) Orchestration of crud operations for a hierarchical web service data model in a spreadsheet
CN112596714A (zh) 网页开发方法、装置、终端、服务器和存储介质
CN113535164A (zh) 一种前端界面的生成方法、装置、电子设备及存储介质
CN104598570A (zh) 资源的抓取方法及装置
Bernaschina et al. A big data analysis framework for model-based web user behavior analytics
US11704480B2 (en) User interface for managing extended schemas
US11848976B2 (en) Custom action invocation in a speadsheet integrated with web services
CN113918142B (zh) 数据采集任务代码生成方法、装置、计算机设备
US20240037325A1 (en) Ability to add non-direct ancestor columns in child spreadsheets
CN115237425A (zh) 代码检视方法、装置、计算机设备及存储介质
CN111916164B (zh) 用于临床研究中的中心启动调研系统的实现方法和装置
CN116108814B (zh) 甘特图处理方法、装置、计算机设备及存储介质
CN116974556A (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
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: No. 8 Huizhi Street, Suzhou Industrial Park, Suzhou Area, China (Jiangsu) Pilot Free Trade Zone, Suzhou City, Jiangsu Province, 215000

Applicant after: Qichacha Technology Co.,Ltd.

Address before: Room 503, 5 / F, C1 building, 88 Dongchang Road, Suzhou Industrial Park, 215000, Jiangsu Province

Applicant before: Qicha Technology Co.,Ltd.

Country or region before: China

GR01 Patent grant
GR01 Patent grant