CN116150513A - 数据处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
数据处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116150513A CN116150513A CN202211666824.3A CN202211666824A CN116150513A CN 116150513 A CN116150513 A CN 116150513A CN 202211666824 A CN202211666824 A CN 202211666824A CN 116150513 A CN116150513 A CN 116150513A
- Authority
- CN
- China
- Prior art keywords
- target
- task
- grabbing
- url
- analysis
- 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
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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- 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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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
-
- 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)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种数据处理方法、装置、电子设备及计算机可读存储介质,涉及数据处理技术领域。该方法应用于抓取服务,包括从预设的抓取任务队列中获得目标抓取任务,目标抓取任务包括待抓取网页的目标统一资源定位符url以及目标url对应的站点的目标站点标识;根据目标抓取任务抓取目标url中的目标页面数据;根据目标页面数据创建解析任务,将解析任务放入与目标站点标识相对应的目标解析任务队列中,以使得与目标站点标识对应的解析服务,执行对应的目标解析任务队列中的目标解析任务,获得解析结果。本申请实施例实现了只需要对实现解析目标页面数据的相关代码进行单独编写,从而减少了重复代码的数量,降低了***资源占用率,提高了通用性和灵活性,节省了开发软件的时间。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,本申请涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网技术的不断发展,开发软件往往需要构建多个站点,而构建站点往往需要利用多个与站点所处的应用场景相关的网页上的一些具体数据。目前所采用的方法先建立存储与站点的应用场景相关的网页的URL的URL集合,往往是对每个站点配置独立的抓取服务和解析服务,每个抓取服务从与站点相对应的URL集合中抓取URL,解析服务根据URL以得到相对应站点所需的数据。这种方法虽然能保证每个站点均能获得所需的数据,但由于每个抓取程序和每个解析服务都是根据应用场景单独编写的,不仅导致***内存在大量的重复代码,过度占用***资源,且通用性和灵活性也较差,影响开发软件的时间。
发明内容
本申请实施例提供了一种数据处理方法、装置、电子设备及计算机可读存储介质,可以解决统内存在大量的重复代码,过度占用***资源,代码通用性和灵活性较差,影响开发软件的时间的问题。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种数据处理方法,应用于抓取服务,该方法包括:
从预设的抓取任务队列中获得目标抓取任务,所述目标抓取任务包括待抓取网页的目标统一资源定位符url以及目标url对应的站点的目标站点标识;
根据目标抓取任务抓取所述目标url中的目标页面数据;
根据所述目标页面数据创建解析任务,将所述解析任务放入与所述目标站点标识相对应的目标解析任务队列中,以使得与所述目标站点标识对应的解析服务,执行对应的目标解析任务队列中的目标解析任务,获得解析结果。
作为一种数据处理方法的可选实施例,所述从预设的抓取任务队列中获得目标抓取任务,之前包括:
确定至少一个站点,对于每个站点,获得所述站点的站点标识以及所述站点中的至少一个待抓取网页的url;
基于每个url以及该url对应的站点标识,创建对应的抓取任务并依次放入所述任务队列中。
作为一种数据处理方法的可选实施例,所述根据目标抓取任务抓取所述目标url中的目标页面数据,包括:
从代理ip池中获得目标代理ip;
使用所述目标代理ip访问所述目标url对应的待抓取网页;
获得所述待抓取网页的目标页面数据。
作为一种可选实施例,使用所述目标代理ip访问所述目标url对应的待抓取网页,之前还包括:
对浏览器进行初始化,并利用所述目标代理ip替换所述浏览器的本地ip;
所述使用所述目标代理ip访问所述目标url对应的待抓取网页,包括:
对所述浏览器进行初始化后等待预设的睡眠时段,对所述浏览器发送目标访问指令,以使得所述浏览器根据所述目标访问指令访问所述待抓取网页,所述目标访问指令用于指示所述浏览器访问所述目标url对应的待抓取网页。
作为一种数据处理方法的可选实施例,所述获得所述待抓取网页的目标页面数据,包括:
根据所述待抓取网页中的各个页面元素的排版顺序,抓取页面元素;
当确定抓取到预设的目标页面元素时,确定抓取完成,并将从所述待抓取网页中已抓取的页面元素作为所述目标页面数据。
作为一种数据处理方法的可选实施例,所述根据所述待抓取网页中的各个页面元素的排版顺序,抓取页面元素,之后还包括:
若按照所述排版顺序抓取各个页面元素后,确定未抓取到所述目标页面元素,则在预设时长后重新按照所述排版顺序抓取各个页面元素,直至确定抓取到预设的目标页面元素。
作为一种数据处理方法的可选实施例,所述根据目标抓取任务抓取所述目标url中的目标页面数据,之前还包括:
判断所述目标url为死链时,结束执行所述目标抓取任务的目标抓取进程。
根据本申请实施例的另一个方面,提供了一种数据处理装置,该装置包括:
获得模块,用于从预设的抓取任务队列中获得目标抓取任务,所述目标抓取任务包括待抓取网页的目标统一资源定位符url以及目标url对应的站点的目标站点标识;
抓取模块,用于根据目标抓取任务抓取所述目标url中的目标页面数据;
创建模块,用于根据所述目标页面数据创建解析任务,将所述解析任务放入与所述目标站点标识相对应的目标解析任务队列中,以使得与所述目标站点标识对应的解析服务,执行对应的目标解析任务队列中的目标解析任务,获得解析结果。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现上述的数据处理方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据处理方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:本申请实施例提供了一种数据处理方法、装置、电子设备及计算机可读存储介质,由于目标抓取任务中包括目标url和对应的目标站点标识,从而能在抓取到目标页面数据后将目标解析任务直接放入与目标站点标识相对应的目标解析任务队列中,以使得解析服务能对目标页面数据进行针对性解析,从而获得解析结果。即抓取目标url并获得目标页面数据的过程是和场景无关,故而相关的程序无需单独编写的,只需要对实现解析目标页面数据的相关代码进行单独编写,从而减少了重复代码的数量,降低了***资源占用率,提高了通用性和灵活性,节省了开发软件的时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的实现数据处理方法的***架构示意图;
图2为本申请实施例提供的一种数据处理方法的流程示意图;
图3为本申请实施例提供的一种抓取任务的属性示意图;
图4为本申请实施例提供的一种数据处理装置的结构示意图;
图5为本申请实施例提供的一种实现数据处理方法的电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供的数据处理方法、装置、电子设备、计算机可读存储介质以及计算机程序产品,旨在解决现有技术的如上技术问题。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1为本申请实施例提供的实现数据处理方法的***架构示意图,不同的开发人员通过各自对应的终端分别从服务器中获取各自所需的解析数据,以实现对各自站点的开发。如一开发人员通过终端11从服务器13的存储服务中获得解析结果aa,并根据解析结果aa对站点A进行开发,另一开发人员通过终端12从服务器13的存储服务中获得解析结果bb,并根据解析结果bb对站点B进行开发,其中,解析结果aa是服务器13中的解析服务a中执行解析任务队列1的解析任务所得,解析结果bb是服务器13中的解析服务b执行解析任务队列2中的解析任务所得,解析任务属于解析任务队列1还是解析任务队列2是通过服务器中的交换机(exchange)进行分类,即交换机将抓取服务执行抓取任务队列中抓取任务所得的解析任务路由到对应的解析任务队列中。
其中,服务器13可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。其中,终端11和终端12可以是平板电脑、笔记本电脑、膝上型便携计算机以及台式计算机等,但并不局限于此。
图1中仅示出了两个终端,但在不同实施例中存在终端的具体数量不做限制,可以一个或多个终端可以接入服务器13。终端11和终端12可以通过无线网络或有线网络与服务器13相连。
本申请实施例中提供了一种数据处理的方法,应用于抓取服务,如图2所示,该方法包括:
S100、从预设的抓取任务队列中获得目标抓取任务,目标抓取任务包括待抓取网页的目标统一资源定位符url以及目标url对应的站点的目标站点标识。
其中,抓取任务队列是指存放至少一个待处理的抓取任务的队列,属于一种先进先出的线性表,在具体应用中通常用链表或者数组来实现。往往只能将抓取任务从队列的后端***,以方便抓取进程有序执行抓取任务。
考虑到抓取任务队列一边会不断增加新的抓取任务以增加待处理的抓取任务的总数量,另一边会不断有抓取进程对抓取任务进行处理以减少待处理的抓取任务的总数量,本实施例采用异步队列的处理方式以方便多个抓取进程并行执行处理各自对应的抓取任务,实现了架构与场景业务之间的解耦,较大提升了抓取服务的性能及扩展性。其中,抓取进程的数量可根据抓取任务的数量、抓取任务的增长速度以及抓取进程执行一个抓取任务的速度进行调整,本实施例对此不做具体限制。
可以理解的是,站点是指一个网站的所有资源的集合,即存放这个网站所有网页的文件夹,url是指网页的具体网址。示例性地,若待开发的站点的应用场景是向客户提供各种实时新闻的网站,其站点标识为A,待抓取网页包括但不限于新浪网、百度新闻以及今日热点等,新浪网的url为http://www.sina.com.cn,百度新闻的url为https://news.***.com/society,今日特点的url为http://www.todayhot.cn/;待开发的站点的应用场景是向客户提供各种视频,其站点标识为B,待抓取网页包括但不限于腾讯视频、哔哩哔哩以及爱奇艺等,腾讯视频的url为https://v.qq.com,哔哩哔哩的url为https://www.bilibili.com/,爱奇艺的url为https://www.iqiyi.com/,若目标url为https://www.bilibili.com/,则目标站点标识为B。
S101、根据目标抓取任务抓取目标url中的目标页面数据。
可以理解的是,由于待抓取网页上存在文本、图像、动画、视频、音乐、超链接、表格、表单和各类控件等数据。示例性地,站点1的应用场景是向客户提供各种实时新闻,其需要文本、图像和视频这些数据,站点2的应用场景是向客户提供各种视频,其需要文本、动画和视频这些数据,故目标页面数据包括但不限于文本、图像、动画以及视频,无论目标url对应的待抓取网页对应的目标站点是哪个,均能保证抓取到需要的目标页面数据。
S102、根据目标页面数据创建解析任务,将解析任务放入与目标站点标识相对应的目标解析任务队列中,以使得与目标站点标识对应的解析服务,执行对应的目标解析任务队列中的目标解析任务,获得解析结果。
考虑到不同站点的应用场景有所不同,故针对不同站点所获得的解析结果也存在差异,因此执行解析服务所编写的代码存在区别,利用解析任务队列和站点标识一一对应,从而将解析任务放入对应的解析任务队列中,以保证解析服务、站点标识和解析任务队列之间两两对应,进而使开发每个站点时均能获得与应用场景相符合的解析结果。其中,获得解析结果是指从目标页面数据中提取到所需的字段。
可以理解的是,本实施例中,由于目标抓取任务中包括目标url和对应的目标站点标识,从而能在抓取到目标页面数据后将目标解析任务直接放入与目标站点标识相对应的目标解析任务队列中,以使得解析服务能对目标页面数据进行针对性解析,从而获得解析结果。即抓取目标url并获得目标页面数据的过程是和场景无关,故而相关的程序无需单独编写的,只需要对实现解析目标页面数据的相关代码进行单独编写,从而减少了重复代码的数量,降低了***资源占用率,提高了通用性和灵活性,节省了开发软件的时间。
在上述各实施例的基础上,作为一种可选实施例,从预设的抓取任务队列中获得目标抓取任务,之前包括:
确定至少一个站点,对于每个站点,获得站点的站点标识以及站点中的至少一个待抓取网页的url;
基于每个url以及该url对应的站点标识,创建对应的抓取任务并依次放入任务队列中。
进一步地,结合图3所示,其示例性地示出了抓取任务的属性示意图,抓取服务通过RabbitMQ实现,其中,exchange表示交换机,类型为string,抓取进程在执行完当前抓取任务后创建的解析任务需要通过exchange放入对应的解析任务队列中,用以指示抓取任务队列、解析任务队列分别和exchange之间绑定;url表示当前抓取任务待抓取页面的网址,类型为string;routing_key又叫路由规则,表示指示exchange将创建的解析任务发送到对应的解析任务队列,类型为string;site表示抓取任务对应的站点标识,类型为string。示例性地,若存在三个站点,每个站点的站点标识分别是1、2和3,对应的routing_key依次为routing_key=site1、routing_key=site2和routing_key=site3。
在上述各实施例的基础上,作为一种可选实施例,根据目标抓取任务抓取目标url中的目标页面数据,包括:
从代理ip池中获得目标代理ip;
使用目标代理ip访问目标url对应的待抓取网页;
获得待抓取网页的目标页面数据。
可以理解的是,代理ip池内存放有多个代理ip,每次访问待抓取网页前通过先获得目标代理ip再进行访问,能保证访问过程中和数据传输过程中配置有抓取服务的服务器的私密性和安全性。
具体地,代理ip是指代理服务器的地址,即利用配置有抓取服务的服务器通过代理ip和代理服务器连接,然后通过代理服务器访问待抓取网页,待抓取网页的内容通过代理服务器,返回到配置有抓取服务的服务器上,以提高访问待抓取网页的安全性。代理ip可以通过购买或从免费代理资源网站收集获得。可以理解的是,每次从代理ip池中获得目标代理ip可以是随机的,也可以是具有逻辑顺序的,本实施例对此不做具体限制。
在上述各实施例的基础上,作为一种可选实施例,使用目标代理ip访问目标url对应的待抓取网页,之前还包括:
对浏览器进行初始化,并利用目标代理ip替换浏览器的本地ip;
使用目标代理ip访问目标url对应的待抓取网页,包括:
对浏览器进行初始化后等待预设的睡眠时段,对浏览器发送目标访问指令,以使得浏览器根据目标访问指令访问待抓取网页,目标访问指令用于指示浏览器访问目标url对应的待抓取网页。
可以理解的是,在访问待抓取网页前先对浏览器进行初始化,即将浏览器的所有配置还原成原始的,以避免出现由于开发人员对浏览器设置的错误修改,从而造成的待抓取网页访问异常的情况,提高抓取效率。示例性地,抓取服务采用selenium框架,利用selenium框架中的browser实现浏览器的访问和抓取步骤。
需要解释的是,当我们使用浏览器访问待抓取网页时,待抓取网页所在的网站是会接收到浏览器所在的服务器的本地ip,若频繁访问同一个待抓取网页时,容易出现ip被封的情况,导致其无法正常继续浏览待抓取网页,故而通过代理ip替换本地ip,以减少这类网络限制的情况出现,进而保证访问待抓取网页的顺畅。另外,对浏览器进行初始化也方便利用代理ip替换本地ip。
其中,考虑到会有多个抓取进程并行执行对应的目标抓取任务,通过预设睡眠时段,以避免同一时刻对待抓取网页所在的网站造成的压力过大,以缓解整个抓取频率。可以理解的是,睡眠时段的具体时长可根据实际情况进行调整,本实施例对此不做具体限制。
在上述各实施例的基础上,作为一种可选实施例,获得待抓取网页的目标页面数据,包括:
根据待抓取网页中的各个页面元素的排版顺序,抓取页面元素;
当确定抓取到预设的目标页面元素时,确定抓取完成,并将从待抓取网页中已抓取的页面元素作为目标页面数据。
需要解释的是,页面元素包括但不限于文本、图片、音频、动画、视频,排版顺序指的是各个页面元素的呈现次序,也是方便用户浏览待抓取网页的顺序,通过排版顺序来抓取页面元素,能保证某些页面元素不会被遗漏抓取。另外,通过确定抓取到预设的目标页面元素来判断抓取完成,以保证目标页面数据不会遗漏的同时提高抓取效率。
示例性地,若站点的应用场景是向客户提供各种实时新闻的网站,待抓取网页是新浪网时,预设的目标页面元素有“新闻标题”,即当抓取到“新闻标题”的页面元素时,说明抓取完成,从而保证能根据解析目标页面数据后获得的解析结果开发站点。
在上述各实施例的基础上,作为一种可选实施例,根据待抓取网页中的各个页面元素的排版顺序,抓取页面元素,之后还包括:
若按照排版顺序抓取各个页面元素后,确定未抓取到目标页面元素,则在预设时长后重新按照排版顺序抓取各个页面元素,直至确定抓取到预设的目标页面元素。
可以理解的是,由于存在有些页面元素需要等待页面全部加载完成后才会出现,也存在有些页面元素还需要和访问待抓取网页的用户之间进行交互后才会出现,通过预设时长后重新抓取,从而能保证目标页面数据的全面性以及抓取的准确性。其中,预设时长的具体时长可根据实际情况进行调整,本实施例对此不做具体限制。
在上述各实施例的基础上,作为一种可选实施例,根据目标抓取任务抓取目标url中的目标页面数据,之前还包括:
判断目标url为死链时,结束执行目标抓取任务的目标抓取进程。
需要解释的是,死链是指待抓取网页的服务器的地址发生改变,从而无法根据url访问到待抓取网页,故而通过直接结束目标抓取进程,从而避免无法获得目标页面数据的目标抓取进程被始终占用,影响抓取效率。
其中,死链包括协议死链和内容死链,示例性地,协议死链是指链接本身失效,即url为https://...404,无法访问待抓取网页;内容死链是指虽然能访问待抓取网页,待抓取网页的内容已经变更为不存在或已删除,即待抓取网页中出现类似“内容已删除”之类的文本数据。
本申请实施例提供了一种数据处理装置,如图4所示,该数据处理装置可以包括:获得模块601、抓取模块602以及创建模块603,其中,获得模块601用于从预设的抓取任务队列中获得目标抓取任务,目标抓取任务包括待抓取网页的目标统一资源定位符url以及目标url对应的站点的目标站点标识;抓取模块602用于根据目标抓取任务抓取目标url中的目标页面数据;创建模块603用于根据目标页面数据创建解析任务,将解析任务放入与目标站点标识相对应的目标解析任务队列中,以使得与目标站点标识对应的解析服务,执行对应的目标解析任务队列中的目标解析任务,获得解析结果。
可以理解的是,本实施例中,由于目标抓取任务中包括目标url和对应的目标站点标识,从而能使抓取模块602在抓取到目标页面数据后发送给创建模块603,创建模块603根据目标页面数据创建对应的目标解析任务直接放入与目标站点标识相对应的目标解析任务队列中,以使得解析服务能对目标页面数据进行针对性解析,从而获得解析结果。即抓取目标url并获得目标页面数据的过程是和场景无关,故而相关的程序无需单独编写的,只需要对实现解析目标页面数据的相关代码进行单独编写,从而减少了重复代码的数量,降低了***资源占用率,提高了通用性和灵活性,节省了开发软件的时间。
在上述各实施例的基础上,作为一种可选实施例,获得模块用于从预设的抓取任务队列中获得目标抓取任务,之前还用于
确定至少一个站点,对于每个站点,获得站点的站点标识以及站点中的至少一个待抓取网页的url;
基于每个url以及该url对应的站点标识,创建对应的抓取任务并依次放入任务队列中。
在上述各实施例的基础上,作为一种可选实施例,抓取模块用于根据目标抓取任务抓取目标url中的目标页面数据,具体步骤包括:
从代理ip池中获得目标代理ip;
使用目标代理ip访问目标url对应的待抓取网页;
获得待抓取网页的目标页面数据。
在上述各实施例的基础上,作为一种可选实施例,抓取模块使用目标代理ip访问目标url对应的待抓取网页,之前还包括:
对浏览器进行初始化,并利用目标代理ip替换浏览器的本地ip;
使用目标代理ip访问目标url对应的待抓取网页,包括:
对浏览器进行初始化后等待预设的睡眠时段,对浏览器发送目标访问指令,以使得浏览器根据目标访问指令访问待抓取网页,目标访问指令用于指示浏览器访问目标url对应的待抓取网页。
在上述各实施例的基础上,作为一种可选实施例,抓取模块用于获得待抓取网页的目标页面数据,具体包括:
根据待抓取网页中的各个页面元素的排版顺序,抓取页面元素;
当确定抓取到预设的目标页面元素时,确定抓取完成,并将从待抓取网页中已抓取的页面元素作为目标页面数据。
在上述各实施例的基础上,作为一种可选实施例,抓取模块用于根据待抓取网页中的各个页面元素的排版顺序,抓取页面元素,之后还包括:
若按照排版顺序抓取各个页面元素后,确定未抓取到目标页面元素,则在预设时长后重新按照排版顺序抓取各个页面元素,直至确定抓取到预设的目标页面元素。
在上述各实施例的基础上,作为一种可选实施例,抓取模块用于根据目标抓取任务抓取目标url中的目标页面数据,之前还用于:
判断目标url为死链时,结束执行目标抓取任务的目标抓取进程。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现数据处理方法的步骤,与相关技术相比可实现:由于目标抓取任务中包括目标url和对应的目标站点标识,从而能在抓取到目标页面数据后将目标解析任务直接放入与目标站点标识相对应的目标解析任务队列中,以使得解析服务能对目标页面数据进行针对性解析,从而获得解析结果。即抓取目标url并获得目标页面数据的过程是和场景无关,故而相关的程序无需单独编写的,只需要对实现解析目标页面数据的相关代码进行单独编写,从而减少了重复代码的数量,降低了***资源占用率,提高了通用性和灵活性,节省了开发软件的时间。
在一个可选实施例中提供了一种电子设备,如图5所示,图5所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (10)
1.一种数据处理方法,其特征在于,应用于抓取服务,所述方法包括:
从预设的抓取任务队列中获得目标抓取任务,所述目标抓取任务包括待抓取网页的目标统一资源定位符url以及目标url对应的站点的目标站点标识;
根据目标抓取任务抓取所述目标url中的目标页面数据;
根据所述目标页面数据创建解析任务,将所述解析任务放入与所述目标站点标识相对应的目标解析任务队列中,以使得与所述目标站点标识对应的解析服务,执行对应的目标解析任务队列中的目标解析任务,获得解析结果。
2.根据权利要求1所述的数据处理方法,其特征在于,所述从预设的抓取任务队列中获得目标抓取任务,之前包括:
确定至少一个站点,对于每个站点,获得所述站点的站点标识以及所述站点中的至少一个待抓取网页的url;
基于每个url以及该url对应的站点标识,创建对应的抓取任务并依次放入所述任务队列中。
3.根据权利要求1或2的任意一项所述的数据处理方法,其特征在于,所述根据目标抓取任务抓取所述目标url中的目标页面数据,包括:
从代理ip池中获得目标代理ip;
使用所述目标代理ip访问所述目标url对应的待抓取网页;
获得所述待抓取网页的目标页面数据。
4.根据权利要求3所述的数据处理方法,其特征在于,使用所述目标代理ip访问所述目标url对应的待抓取网页,之前还包括:
对浏览器进行初始化,并利用所述目标代理ip替换所述浏览器的本地ip;
所述使用所述目标代理ip访问所述目标url对应的待抓取网页,包括:
对所述浏览器进行初始化后等待预设的睡眠时段,对所述浏览器发送目标访问指令,以使得所述浏览器根据所述目标访问指令访问所述待抓取网页,所述目标访问指令用于指示所述浏览器访问所述目标url对应的待抓取网页。
5.根据权利要求3所述的数据处理方法,其特征在于,所述获得所述待抓取网页的目标页面数据,包括:
根据所述待抓取网页中的各个页面元素的排版顺序,抓取页面元素;
当确定抓取到预设的目标页面元素时,确定抓取完成,并将从所述待抓取网页中已抓取的页面元素作为所述目标页面数据。
6.根据权利要求5所述的数据处理方法,其特征在于,所述根据所述待抓取网页中的各个页面元素的排版顺序,抓取页面元素,之后还包括:
若按照所述排版顺序抓取各个页面元素后,确定未抓取到所述目标页面元素,则在预设时长后重新按照所述排版顺序抓取各个页面元素,直至确定抓取到预设的目标页面元素。
7.根据权利要求1或2所述的数据处理方法,其特征在于,所述根据目标抓取任务抓取所述目标url中的目标页面数据,之前还包括:
判断所述目标url为死链时,结束执行所述目标抓取任务的目标抓取进程。
8.一种数据处理装置,其特征在于,包括:
获得模块,用于从预设的抓取任务队列中获得目标抓取任务,所述目标抓取任务包括待抓取网页的目标统一资源定位符url以及目标url对应的站点的目标站点标识;
抓取模块,用于根据目标抓取任务抓取所述目标url中的目标页面数据;
创建模块,用于根据所述目标页面数据创建解析任务,将所述解析任务放入与所述目标站点标识相对应的目标解析任务队列中,以使得与所述目标站点标识对应的解析服务,执行对应的目标解析任务队列中的目标解析任务,获得解析结果。
9.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-7任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211666824.3A CN116150513A (zh) | 2022-12-23 | 2022-12-23 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211666824.3A CN116150513A (zh) | 2022-12-23 | 2022-12-23 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116150513A true CN116150513A (zh) | 2023-05-23 |
Family
ID=86357475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211666824.3A Pending CN116150513A (zh) | 2022-12-23 | 2022-12-23 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116150513A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116880901A (zh) * | 2023-09-05 | 2023-10-13 | 国网思极网安科技(北京)有限公司 | 应用页面解析方法、装置、电子设备与计算机可读介质 |
-
2022
- 2022-12-23 CN CN202211666824.3A patent/CN116150513A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116880901A (zh) * | 2023-09-05 | 2023-10-13 | 国网思极网安科技(北京)有限公司 | 应用页面解析方法、装置、电子设备与计算机可读介质 |
CN116880901B (zh) * | 2023-09-05 | 2023-11-24 | 国网思极网安科技(北京)有限公司 | 应用页面解析方法、装置、电子设备与计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2724251B1 (en) | Methods for making ajax web applications bookmarkable and crawlable and devices thereof | |
WO2016173200A1 (zh) | 用于检测恶意网址的方法和*** | |
US9342620B2 (en) | Loading of web resources | |
US20090327460A1 (en) | Application Request Routing and Load Balancing | |
CN109829121B (zh) | 一种点击行为数据上报的方法和装置 | |
CN107105336A (zh) | 数据处理方法及数据处理装置 | |
CN109213824B (zh) | 数据抓取***、方法和装置 | |
CN116150513A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN109862074B (zh) | 一种数据采集方法、装置、可读介质及电子设备 | |
CN105119764B (zh) | 用于流量监控的方法和装置 | |
US9998559B2 (en) | Preemptive caching of data | |
CN112492055A (zh) | 一种传输协议重定向的方法、装置、设备及可读存储介质 | |
CN106919595B (zh) | 一种用于Cookie映射的方法、装置及电子设备 | |
CN111953718B (zh) | 一种页面调试方法和装置 | |
AU2018390863B2 (en) | Computer system and method for extracting dynamic content from websites | |
CN107508705B (zh) | 一种http元素的资源树构建方法及计算设备 | |
CN110838969A (zh) | 一种图片传输方法、装置、设备及介质 | |
CN112306791B (zh) | 一种性能监控的方法和装置 | |
WO2011157183A2 (zh) | Web应用托管的调查方法和*** | |
JP5860389B2 (ja) | Web閲覧履歴取得システム及び方法及びプロキシサーバ及びWeb閲覧履歴取得プログラム | |
US11216490B2 (en) | Method and system for the creation and maintenance of a web presence data store built automatically for all entities with a social media presence | |
CN111124365A (zh) | Rpa需求收集的方法和装置 | |
US11252244B1 (en) | System and method for web-session recording | |
CN110955851B (zh) | 一种网络请求处理方法、***、计算设备 | |
CN110365633B (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 |