CN111460259A - 一种同类元素确定方法、装置、计算机设备及存储介质 - Google Patents
一种同类元素确定方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111460259A CN111460259A CN202010241436.5A CN202010241436A CN111460259A CN 111460259 A CN111460259 A CN 111460259A CN 202010241436 A CN202010241436 A CN 202010241436A CN 111460259 A CN111460259 A CN 111460259A
- Authority
- CN
- China
- Prior art keywords
- selector
- elements
- candidate
- homogeneous
- selection
- 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
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
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及一种同类元素确定方法、装置、计算机设备及存储介质,用于提高确定同类元素的准确性。该方法包括:响应于针对目标网页中元素的选择操作,获得选择元素集;针对每个选择元素,确定选择元素在文档对象模型树中相对于到根节点的路径,获得选择路径集;针对所述选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集;根据所述第一选择器集,获得第一候选同类元素集;根据所述第一候选同类元素集,获得目标同类元素集。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种同类元素确定方法、装置、计算机设备及存储介质。
背景技术
网络爬虫(web crawler),也可以称为网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人,可以保存所访问的页面元素信息。用户可以利用网络爬虫技术获取各网页的元素信息。
目前,网络爬虫技术一般是通过分析网页的前端代码,查找选择元素相关的元素,获得最终的同类元素。这种方式仅简单地查找同类元素,得到的同类元素并不能满足用户的需求,得到的同类元素的准确性较低。
发明内容
本申请实施例提供一种同类元素确定方法、装置、计算机设备及存储介质,用于提高确定同类元素的准确性。
第一方面,提供一种同类元素确定方法,包括:
响应于针对目标网页中元素的选择操作,获得选择元素集;
针对每个选择元素,确定选择元素在文档对象模型树中相对于到根节点的路径,获得选择路径集;
针对所述选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集;
根据所述第一选择器集,获得第一候选同类元素集;
根据所述第一候选同类元素集,获得目标同类元素集。
第二方面,提供一种同类元素确定装置,包括:
第一获得模块,用于响应于针对目标网页中元素的选择操作,获得选择元素集;
确定模块,用于针对每个选择元素,确定选择元素在文档对象模型树中相对于到根节点的路径,获得选择路径集;
生成模块,用于针对所述选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集;
第二获得模块,用于根据所述第一选择器集,获得第一候选同类元素集;
第三获得模块,用于根据所述第一候选同类元素集,获得目标同类元素集。
在一种可能的实施例中,所述第三获得模块具体用于:
根据拒绝元素集,获得拒绝元素集以及各拒绝元素的相似元素组成的第一候选拒绝元素集;其中,拒绝元素集是根据目标网页中元素的拒绝操作生成的;
删除所述第一候选同类元素集中的部分候选同类元素,获得第二候选同类元素集;其中,部分候选同类元素包括与所述选择元素集中元素不具有共有特征,但与所述第一候选拒绝元素集中元素具有共有特征的元素;
根据第二候选同类元素集,获得目标同类元素。
在一种可能的实施例中,所述第三获得模块具体用于:
根据标签对选择路径集进行分组,得到分组选择路径集;
按照对分组选择路径集对应的标签对拒绝路径集进行分组,得到分组拒绝路径集;其中,拒绝路径集是包括各拒绝元素在文档对象模型树中相对于到根节点的路径;
针对每个分组拒绝路径,遍历分组拒绝路径中的各节点,得到第二候选拒绝元素集;
从所述第二候选拒绝元素集中逐层去除对应分组选择路径集中的候选同类元素,得到第一候选拒绝元素集。
在一种可能的实施例中,所述第三获得模块具体用于:
确定所述第一候选拒绝元素集与所述第一候选同类元素集存在的共同元素集;
根据所述共同元素集,调整所述第一选择器集,获得第三选择器集;其中,所述第三选择器集从所述目标网页中匹配出的元素排除所述共同元素集中部分或全部的元素;
根据所述第三选择器集,获得第二候选同类元素。
在一种可能的实施例中,所述第三获得模块具体用于:
若所述第一候选拒绝元素集的数量大于阈值,则在所述第一选择器集中,删除部分第一选择器,获得第三选择器集;其中,部分第一选择器包括所述共同元素集中与不属于选择元素集的元素关联的第一选择器;
若所述第一候选拒绝元素集的数量小于或等于阈值,则在所述第一选择器集中,删除部分第一选择器,获得第三选择器集;其中,部分第一选择器包括所述共同元素集中与所述第一候选拒绝元素集属于相同分类的元素关联的第一选择器。
在一种可能的实施例中,所述生成模块具体用于:
获得第三侯选同类元素集;其中,所述第三候选同类元素包括各选择路径中各节点;
针对每个第三候选同类元素,确定出第三候选同类元素对应的选择器,获得第二选择器集;其中,每个第二选择器在所述目标网页中匹配出唯一的第三候选同类元素;
针对第二选择器集中每个第二选择器,组合第二选择器,以及第二选择器表示的第三候选同类元素的上一层元素对应的第二选择器,确定第三候选同类元素对应的第一选择器,获得第一选择器集。
在一种可能的实施例中,所述生成模块具体用于:
若第三候选同类元素集存在多个第三候选同类元素,则获取多个候选同类元素的共有分类列表;
针对每个第三候选同类元素,将共有分类列表,以及第三候选同类元素对应的标签确定为第三候选同类元素的第二选择器,获得第二选择器集;
若第三候选同类元素集存在一个第三候选同类元素,则将第三候选同类元素的标志ID确定为第三候选同类元素的第二选择器,获得第二选择器集。
在一种可能的实施例中,所述生成模块具体用于:
针对所述选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集,包括:
针对每个选择路径,获得各节点对应的选择器,获得第四选择器集;
针对每个第四选择器,将第四选择器,以及第四选择器关联的节点到根节点之间的特征进行组合,确定第四选择器对应的第五选择器,获得第五选择器集;
针对第五选择器集中每个第五选择器,丢弃第五选择器集中部分祖先特征,获得第六选择器,获得第六选择器集;其中,祖先特征是指第四选择器关联的元素的上层节点的特征;
根据各第六选择器与第五选择器集,得到第一选择器集。
在一种可能的实施例中,所述生成模块具体用于:
组合各第六选择器与第五选择器集,获得第七选择器集;
在所述第七选择器集中,将优先级最高的第七选择器确定为第一选择器集;其中,第七选择器中包括的祖先特征的数量越少,元素在所述目标网页中的位置信息越少,则第七选择器对应的优先级越高。
第三方面,提供一种计算机设备,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面中任一项所述的方法。
第四方面,提供一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面中任一项所述的方法。
由于本申请实施例采用上述技术方案,至少具有如下技术效果:
本申请实施例中,利用每个选择元素集,查找根节点到选择元素的所有选择路径,生成选择路径中各节点的选择器,再利用这些选择器去匹配出候选同类元素,这样能够查找出与选择元素相关的更多的候选同类元素更多,进而在更多的候选同类元素中生成的目标同类元素,这样,生成的目标同类元素更符合用户需求,准确性更高。
附图说明
图1为本申请实施例提供的一种同类元素确定设备的结构示意图;
图2为本申请实施例提供的一种同类元素确定方法的流程示意图一;
图3为本申请实施例提供的一种同类元素确定方法的流程示意图二;
图4为本申请实施例提供的一种第一选择器集的示意图;
图5为本申请实施例提供的一种显示确定同类元素的界面示意图一;
图6为本申请实施例提供的一种同类元素确定方法的流程示意图三;
图7为本申请实施例提供的一种同类元素确定方法的流程示意图四;
图8为本申请实施例提供的一种确定选择元素集以及拒绝元素集的示意图;
图9为本申请实施例提供的一种显示同类元素的界面示意图二;
图10为本申请实施例提供的显示目标同类元素的界面示意图;
图11为本申请实施例提供的一种同类元素确定方法的流程示意图五;
图12为本申请实施例提供的一种同类元素确定装置的结构示意图;
图13为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
为了便于本领域技术人更好地理解本申请实施例,下面对本申请实施例涉及的专业术语进行介绍。
元素:可以理解为构成网页的单元,又可以称为节点,以超文本标记语言(HyperText Markup Language,HTML)为例,一个HTML元素是HTML文件的一个基本组成单元。HTML文件可以采用树形结构安排HTML元素。更进一步的说,一个HTML元素是一个满足一项或多项文档类型(Document Type Definition,DTD)定义要求的元素。HTML元素可以拥有属性和内容,可以是标题、段落、链接、列表、嵌入媒体或者其他的任何符合DTD要求的格式。
同类元素:可以理解为与选择元素属性相似或相同的元素。在某些情况下,用户可以指定一个或多个选择元素,查找与指定的选择元素相似的元素。除了用户指定的选择元素,同类元素中除了选择元素之外的元素又可以称为相似元素。
选择元素:是指在同类元素分析中,被选中的同类元素集合,用于类推出更多的同类元素。指定的所有选择元素组成选择元素集合,又可以称为选择元素集,也就是说,选择元素集中可以包括一个或多个选择元素。
拒绝元素:是指在同类元素分析中,被删除的同类元素集合,用于类推出所有不应被判别为同类元素的元素。指定的所有拒绝元素组成拒绝元素集合,又可以称为拒绝元素集,也就是说,拒绝元素集中可以包括一个或多个拒绝元素集。
选择器(selector):可以理解为用于定位网页中元素,一个选择器可以定位出一个元素,也可能定位出多个元素。选择器可以用节点的特征表示,选择器的表示方法有很多种,例如可以用元素的标志ID表示,或者用元素的分类和标签结合等方式表示。
标签(tag):指的是网页中各个元素的标识,又可以称为网页标签。进一步地,在HTML(超文本标记语言)中,标签可以包括标题标签(Title Tag)、描述标签(DescriptionTag)、关键词标签(Keywords Tag)等等,进一步地,标签可以包括p、div、i、img、h1、span等,这些标签与网页元素存在对应关系,即每一个元素(包括子元素)都会有对应的标签。
文档对象模型树(Document Object Model,dom):该dom树中包含有元素和元素之间的层级结构,在该层级结构中可以包含有子元素、父元素以及祖先元素,父元素为子元素上一级的元素,祖先元素为子元素上面各个级别的元素,可以包括其上一级元素、上两级元素等等(可以直接溯及到第一个元素,即根元素),也就是说,有些情况下,祖先元素可以包括父元素。Dom树从上到下,可以依次分为第一层,第二层,第三层等。
选择路径:是指根节点到选择元素之间的层级结构,选择路径上的各个元素,也可以称为节点,或者路径节点。
根节点:是指页面对应树结构中的起始元素,比如dom树中的首个元素。
上层元素:是指dom树结构中位于当前元素上层级的元素,上一层元素是指dom树结构中位于当前元素的上一层级的元素。
对象循环:在可视化爬虫系统中,用户可以选取多个元素,然后对每一个元素执行相同的一系列操作,这一系列操作称之为对象循环。
下面对本申请实施例的设计思想进行介绍。
相关技术中,一般是根据前端代码中查找同类元素,这种查找同类元素仅仅是粗略地查找,获得的同类元素并不多,也就是说,最后获得的同类元素实际上与用户真正想要爬取的同类元素相差甚远,即爬取得到的数据准确性不高。
鉴于此,本申请发明人提供一种同类元素确定方法,该方法可以通过同类元素确定设备实现,该方法先利用选择元素集查找出所有选择路径,生成选择路径中各节点的选择器,再利用这些选择器去匹配出更多的候选同类元素,由于生成的候选同类元素更多,使得查找同类元素的范围也就更大,进而生成的目标同类元素更符合用户需求,准确性更高。
进一步的,本申请发明人考虑到在实际同类元素确定过程中。用户选择有对应的拒绝元素集时,可以基于用户选择的这些拒绝元素,尽可能地查找出更多的候选拒绝元素,利用这些后候选拒绝元素,删除部分候选同类元素,删除的部分候选同类元素是与选择元素不具有共有特征,但是与候选拒绝元素具有共有特征的元素,也就是说,该方法并不是直接简单地区删除所有候选同类元素中所包含的候选拒绝元素,而是结合选择元素集与候选拒绝元素的特征去分析,删除哪些同类元素,从而避免直接删除候选同类元素的情况,使得获得的同类元素更准确。
进一步地,本申请发明人考虑到可以遍历目标网页根节点到各选择元素的路径中的各节点,按照逐层地方式去生成各节点对应的选择器,这样一来,基于这些选择器,又可以匹配出更多的同类元素,使得查找出的同类元素更多,这样,更利于后续查找得到更准确地同类元素。同理,在查找候选拒绝元素时,也可以采用逐层地方式去生成各节点对应的选择器,这样,基于这些选择器,匹配出更多的拒绝元素的相似元素,更利于后续查找出更多的拒绝元素。且,在利用拒绝元素去筛选候选同类元素时,并不是剔除候选同类元素中与拒绝元素相同的元素,而是结合拒绝元素以及选择元素的共同特征,剔除哪些与拒绝元素具有共同特征,但是与选择元素不具有共同特征的元素,这样能够保证删除拒绝元素以及与拒绝元素相似的元素,使得确定出的目标同类元素更准确。
进一步地,本申请发明人考虑到在生成单个选择元素的选择器过程中,也可以采用逐层的方式去生成与该选择元素相关的选择器,并且可以丢弃选择器中的部分或全部祖先特征,一来,可以根据丢弃后的选择器筛选出更多的同类元素,以便于用户基于这些相似元素进一步爬取数据。二来,生成的选择器保留了更少的祖先特征以及中间信息等,生成的选择器更稳定,这些选择器可以移用到相似页面的爬取,也就是说,无需为每个页面去生成对应的选择器,提高数据爬取的效率。
下面对本申请实施例涉及的同类元素确定方法的应用场景进行示例介绍。
执行同类元素确定方法的同类元素确定设备中可以包括浏览器,用于提供被采集的数据的来源,浏览器比如IE、Firefox、Chrome、Safari、Opera等浏览器,具体不限制。同类元素确定设备中还可以设置有同类元素确定客户端,该同类元素确定客户端可以是预安装的,或者可以直接挂载在浏览器上使用。
请参照图1,表示一种同类元素确定设备的结构示意图。该同类元素确定设备100包括一个或多个输入设备101、一个或多个处理器102、一个或多个存储器103和一个或多个输出设备104。
输入设备101用于提供输入接口,以获取外界设备/用户输入的选择元素等。在获得选择元素之后,输入设备101将该选择元素发送给处理器102,处理器102利用存储器103中存储的程序指令,实现查找同类元素的过程,获得目标同类元素集。通过输出设备104输出目标同类元素的相关信息。
其中,输入设备101可以包括但不限于物理键盘、功能键、轨迹球、鼠标、触摸屏、操作杆等中的一种或多种。处理器102可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等。存储器103可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器103也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器103是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器103可以是上述存储器的组合。输出设备104例如显示器、扬声器和打印机等等。
在可能的实施例中,同类元素确定设备100可以是用户端设备,也可以是服务端设备。用户端设备可以是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,同类元素确定设备100能够支持任意类型的针对用户的接口(例如可穿戴设备)等。服务端设备可以是各种服务提供的服务器、大型计算设备等。服务器可以是一个或多个服务器。服务器也可以是实体服务器或虚拟服务器等。
应当说明的是,本申请实施例中的同类元素确定设备100可以应用于各种领域的数据爬取,比如应用于游戏领域的文章、游戏数据爬取等,爬取对应的数据,以便于为游戏运营、分析工作人员提供更方便的游戏方面数据获取方式,提高数据爬取的效率,减少投入的人力。
下面对终端设备进行同类元素确定的场景进行示例介绍。
第一种使用场景,查找单个选择元素的目标同类元素:
用户可以在终端设备中的同类元素确定客户端中输入用户想要爬取的网页链接,同类元素确定客户端对该网页进行爬取,获得该网页中的一些元素,用户可以点击某些元素,终端设备可以根据用户的点击操作,确定用户选择的选择元素,然后对选择元素进行分析,获得该目标元素对应的选择器,以便于根据该选择器选择更多的同类元素。
第二种使用场景,查找多个选择元素的目标同类元素:
A1:用户可以在终端设备中的同类元素确定客户端中输入用户想要爬取的网页链接,同类元素确定客户端对该网页进行爬取,获得该网页中的一些元素,用户可以点击选择某些元素,同类元素确定客户端根据这些点击选择操作,获得选择元素集,对每个选择元素进行对象循环过程,查找得到每个选择元素对应的同类元素。
A2:用户也可以点击排除某些元素,同类元素确定客户端可以根据这些点击排除操作,获得拒绝元素集。终端设备根据这些选择元素,确定出更多的同类元素,根据拒绝元素,确定出更多的候选拒绝元素,根据候选拒绝元素,再去筛选同类元素。
应当说明的是,上述只是对用户爬取数据过程中可能涉及到的两种使用场景进行分别示例,实际上,在用户进行一次爬取数据的过程中,上述两种使用场景可能均发生,也可能只出现其中的一种。
下面结合上述使用场景,对本申请实施例涉及的同类元素确定方法进行介绍。
请参照图2,表示一种同类元素确定方法的流程图,该方法包括:
S201,响应于针对目标网页中元素的选择操作,获得选择元素集。
比如用户输入想要爬取的网页链接之后,同类元素确定设备100对该网页进行分析,可以在目标网页上显示各种元素,用户可以对目标网页中多个元素进行点击操作,或者对网页进行语音输入操作,选择自己想要的元素,这样,同类元素确定设备100相当于获得选择元素集。选择元素集可能包括一个或多个选择元素。
S202,针对每个选择元素,确定选择元素在文档对象模型树中相对于到根节点的路径,获得选择路径集。
目标网页的前端代码架构一般是采用dom树,因此可以遍历dom树中的根节点(或者也称为目标页面中的根节点)到每个选择元素的路径,从而获得选择路径集。如果选择元素集中的选择元素为一个,那么选择路径集中包括的选择路径只有一条,如果选择元素集中的选择元素为多个,那么选择路径集中包括的选择路径也就为多个。应当说明的是,本申请实施例中的多个是指两个或两个以上。
S203,针对选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集。
对于每个选择路径,可以根据选择路径中的每一层,从上到下,依次取生成各节点的选择器,选择器用于从目标页面中匹配出对应的节点,但是选择器匹配出的节点可能是一个或多个。每个节点都有对应的选择器,这样可以获得一个或多个选择器,进而获得第一选择器集。
S204,根据第一选择器集,获得第一候选同类元素集。
得到选择路径中每个节点的选择器之后,可以基于这些选择器去匹配出更多的元素,进而获得候选同类元素。
S205,根据第一候选同类元素集,获得目标同类元素集。
对这些候选同类元素集进行再次筛选等,生成目标同类元素集。
本申请实施例中,由于是逐层去生成各节点的选择器,能够生成更多的选择器,基于这些选择器去查找同类元素,能获得更多的候选同类元素,进而使得筛选得到的同类元素更准确。
为了更清楚地说明图2中的同类元素确定方法,下面分别介绍图1中论述的第一种使用场景下的同类元素确定过程和第二种使用场景下的同类元素确定过程。
基于第一种使用场景,下面对同类元素确定过程进行示例介绍:
请参照图3,该过程包括:
S301,响应于针对目标网页中元素的选择操作,获得选择元素集。
同类元素确定设备100显示出各个网页元素,用户可以通过点击、方框选中等方式选出自己需要据此进行定位查找的选择元素。
S302,获得目标网页中根节点到选择元素的选择路径。
同类元素确定设备根据选择元素、树结构和根节点,获得根节点到选择元素的路径,以及遍历目标网页中根节点到目标元素的路径,从而获得根节点到目标元素之间的各节点。
以目标网页采用HTML生成为例,同类元素确定设备可以查找根节点到目标元素A的dom树路径P,并记录路径P中的所有节点。
S303,逐层向下生成选择路径中各节点对应的选择器,获得第四选择器集。
按照路径P,逐层向下,以各节点的特征生成该节点对应的选择器,获得第四选择器集。各节点的选择器可以通过节点的ID,class和标签中一种或多种的组合来表示等。
S304,根据第四选择器集,确定第一选择器集。
可以在第四选择器集随机选择部分选择器作为第一选择器集。或者可以通过如下方式的确定第一选择器集:
S1.1,针对每个第四选择器,将第四选择器,以及第四选择器关联的节点到根节点之间的特征进行组合,确定第四选择器对应的第五选择器,获得第五选择器集。
具体的,在获得每个节点对应的选择器之后,可以逐层向下,组合第四选择器,以及第四选择器关联的上层节点的选择器之间的特征,上层节点的选择器可以表示为prev_selector,由于上层节点的选择器一般也是根据上层节点的特征,以及上层节点之前的节点之前的特征组成,因此上层节点对应的选择器实际上也就是上层节点到根节点之间的特征。组合方式可以采用”>”,表示出上层与下层之间的父子关系,针对每个第四选择器,都可以进行上述处理,以此类推,获得每个第四选择器组合之后的结果,也就获得每个第四选择器对应的第五选择器,也可以理解各节点对应的第五选择器,将这些第五选择器组合,就获得了第五选择器集。第五选择器集可以匹配出路径P中的所有节点,也可能会匹配到其它元素。
S1.2,针对第五选择器集中每个第五选择器,丢弃第五选择器集中部分祖先特征,获得第六选择器,获得第六选择器集;其中,祖先特征是指第四选择器关联的元素的上层节点的特征。
对于每个第五选择器,可以随机丢弃第五选择器中的祖先特征,或者也可以是每次尝试连续丢弃一个或多个祖先特征,如果一次需要丢弃i个连续特征,则可以丢弃第1个到第n-i个祖先特征。对每个第五选择器均进行丢弃处理,这样,可以获得丢弃后的第五选择器,也就是第六选择器,以此类推,获得第六选择器集。
该方式中,丢弃部分祖先特征后的选择器包含的中间信息更少,选择器的稳定性更好,更利于利用该选择器匹配出对应元素。
S1.3,组合各第六选择器与第五选择器集,得到第七选择器集。
将对第五选择器集进行丢弃处理,组合第六选择器集合第五选择器集,得到第七选择器集。因为丢弃过程是随机的,所以不确定是丢弃前的选择器更佳,还是丢弃后的选择器更佳,因此可以将丢弃前的选择器和丢弃后的选择器进行组合,进行再次筛选,获得每个节点最佳的选择器。
作为一种实施例,对第七选择器集进行筛选,比如可以将每个选择器进行目标网页匹配,如果该选择器只能匹配出唯一的节点,那么表示该选择器能够准确地定位出节点,从第七选择器集中筛选出定位唯一节点的选择器,并将这些选择器组合在一起,获得筛选后的第七选择器集。
应当说明的是,筛选后的第七选择器集中每个第七选择器定位出唯一的节点,但是一个节点可能可以由筛选后的多个第七选择器进行定位。
S4.4,根据所述第七选择器集,确定出第一选择器集。
对第七选择器集或者筛选后的第七选择器集中各选择器进行优先级排序。优先级与选择器的组合特征相关,选择器的组合特征越稳定,该选择器的优先级越高。组合特征是否稳定主要是基于经验,例如,网页的标签、id等信息不容易发生改变,因此单独的标签特征和标签id进行组合后的特征认为较为稳定。比如选择器包含的位置信息越多,那么该选择器的优先级越低,选择器包含的祖先特征越多,该选择器的优先级越低。
在针对每个节点的选择器进行优先级排序之后,可以将优先级最高的选择器作为第一选择器集。具体可以将路径P中最后一个节点对应的选择器确定为选择元素对应的第一选择器集。
S305,根据第一选择器集,确定出目标同类元素。
可以基于第一选择器匹配出与该选择元素更多的同类元素,以便于为用户查找出更多与选择元素相似的元素,爬取更多的数据。
在本申请实施例中,不仅逐层生成选择器,获得更准确的同类元素之外,还能在生成的第一选择器集过程中,会丢弃许多中间节点的信息,中间节点的信息比如祖先特征等,当页面元素发生变化的时候,生成的第一选择器集也不会失效,具有稳定性。同时能够应用于在相似网页,找到相似的元素,增加了生成第一选择器中各选择器的稳定性和和举一反三的能力。
例如,请参照图4,表示一种第一选择器集的示意图,比如用户确定的选择元素为图4中的i.icon,查找从根节点body.main到i.icon,获得选择路径,选择路径具体可以例如body.main div button.info>i.icon,丢弃该选择路径中的祖先特征,比如丢弃div,从而获得第一选择器集具体为body.main button.info>i.icon,此时第一选择器集仅包括一个选择器。
请参照图5,表示一种确定同类元素的显示界面,在该页面中显示有单个选择元素查找同类元素的过程示意图,如图5中示例的“打开网页-提取内容-点击-提取内容”,当用户点击查找相似元素控件501时,同类元素确定设备100可以根据生成的第一选择器集,确定出与选择元素相似的元素。
为了更清楚地说明图3论述的方法,下面结合图6,对图3的过程进行示例说明,具体如下:
S601,输入选择元素A。
S602,遍历根节点到选择元素A的各节点,获得选择路径。
在遍历各节点时,可以按照从根节点到A的顺序对这些节点进行排序。每个节点可以用Ti表示。
S603,逐层向下,生成各节点的选择器。
以各节点的特征表示该节点,组合该节点的特征,以及根节点到该节点的上一层节点之间的特征,获得选择器集S1。
S604,对S1中每个选择器按照规则丢弃祖先特征,并将S1和丢弃后的选择器进行组合,获得选择器集S2。
丢弃规则例如:根据选择器集S1中每个选择器(selector)包含的祖先特征个数n,依次尝试丢弃1到n-1个连续的祖先特征。若尝试丢弃i个连续特征,则依次尝试从第1到第n-i个祖先特征开始,连续丢弃i个特征。丢弃祖先特征后的selector和S1中的全部selector共同组成候选集合S2。S2中的每个selector均保证可以匹配到Ti但可能会匹配到Ti以外的元素。
S605,对选择器集S2进行筛选,获得选择器集S3。
选择器集S3中每个选择器从目标网页中匹配出唯一的节点。
S606,对选择器集S3进行优先级排序,获得排序后的选择器集S3。
对S3中的selector进行优先级排序。排序原则为:不使用Ti的位置信息的selector优先级较高;包含的祖先特征较少的selector优先级较高;选用的Ti的组合特征较稳定的selector优先级较高。这里判断组合特征是否稳定主要是基于经验,例如,一般认为网页的标签、id等信息不容易发生改变,因此单独的标签特征和标签id进行组合后的特征认为较为稳定。将排序后的S3中优先级最高的selector作为定位各节点Ti的selector。
由于selector依赖的dom节点特征尽可能少,且尽量不使用位置信息,所以当网页发生变化时,selector很大程度上可以继续发挥作用,具有很强的稳定性,且很大程度上可以在相似的页面上提取到相似的元素。
S607,将选择路径上的最后一个节点Tn-1的selector Sn-1确定为选择元素A的第一选择器集。
基于第二种使用场景,下面对同类元素确定过程进行示例介绍:
针对前文论述的A1下的同类元素确定过程:如果用户仅选择多个选择元素,那么对每个选择元素执行上述图3论述的步骤,就可以获得选择元素集的目标同类元素集,此处不再赘述。
针对前文论述的A2下的同类元素确定过程,请参照图7,具体包括:
S701,响应于针对目标网页中多个元素的选择操作,获得选择元素集,以及获得选择元素集。
在进行爬取数据过程中,用户可以对目标网页中多个元素进行点击操作,或者对网页进行语音输入操作,选择自己想要的元素,这些想要的元素,组成选择元素集。目标网页可以理解为当前爬取的某个网页,比如用户指定需要爬取的某个网页。
例如,请参照图8,表示一种显示选择元素集以及拒绝元素集的示意图,显示有5个游戏的条目,每个条目对应有游戏名、简介、图片以及指数,该条目即可以理解为网页元素,如图8所示,用户框选了游戏a和c,则所选择的这两个条目则为选择元素801,这两个条目构成选择元素集合。用户屏蔽游戏d,表示用户对游戏d不感兴趣,则该条目为拒绝元素802。
作为一种实施例,在获得选择元素集之后,可以导出这些选择元素集的基础信息,满足用户的同类元素确定需求。基础信息例如,选择元素集中各选择元素的名称,以及选择元素集对应的资源地址等。
S702,获得各选择元素对应的同类元素所组成的第一候选同类元素集。具体获得第一候选同类元素的方式示例如下:
方式一:
遍历目标网页中根节点到各选择元素路径中的各节点,获得第一候选同类元素。
具体的,查找根节点到各选择元素对应路径中的所有节点,将这些节点组合成第一候选同类元素,该实施例中获得候选同类元素的方式简单直接。
方式二:基于各选择路径中各节点的选择器,匹配出第一候选同类元素。
方式二的具体过程如下:
S2.1,遍历目标网页中根节点到各选择元素的路径,获得选择路径集。
以HTML为例,目标网页实际由dom树构成,同类元素确定设备遍历dom数中从根节点一个选择元素对应一个选择路径,遍历根节点到每个选择元素的路径,自然就能获得选择路径集合。例如,每个选择元素表示为Ai,对应的选择路径表示为PAi,选择路径集合表示为PA。
例如,请参照图9,表示一种dom树结构,比如选择元素为图9中圆圈所示的元素,根节点为图9中所示的body.main,那么遍历根节点到第一圆圈(从左至右的第一个)的p.c元素,获得第一选择路径(示例为:body.main>div#main>div>div.a>p.c),其中”>”表示父子关系,以此类推,如果选择元素有多个,则可以获得多个选择路径。
S2.2,针对每条选择路径PAi,逐层向下生成每一层中各节点的选择器,获得第二选择器集。S2.2具体包括如下步骤:
S2.2.1,获得第三候选同类元素集;其中,第三候选同类元素包括各选择路径中各节点。
作为一种实施例,为了便于后续对各个路径进行归类,可以根据节点的标签对选择路径集进行分组,获得分组选择路径集G。分组选择路径集可以理解为各分组下包括的选择路径。每个分组下的选择路径具有相同的标签。每个分组下包括的选择路径可以是具有相同标签的,也可以是具有不同标签的。
进一步地,针对分组选择路径集中每条路径,提取每条路径中的各个节点,获得第三候选同类元素集。
具体的,针对每个分组Gi中每一条路径Pak,提取PAk中位于第j层的节点Akj,获得第三候选同类元素集LA。其中,j可以理解为PAk中的任意一层。得到的LA的元素可以理解为在该PAk中需要被选择的元素。
S2.2.2,针对每个第三候选同类元素,确定出第三候选同类元素对应的选择器,获得第二选择器集;其中,每个第二选择器在目标网页中匹配出唯一的第三候选同类元素。
第一种情况:如果第三候选同类元素集存在多个第三候选同类元素,则获取多个候选同类元素的共有分类列表;针对每个第三候选同类元素,将共有分类列表,以及第三候选同类元素对应的标签确定为第三候选同类元素的第二选择器,获得第二选择器集。
在第一种情况下,第三候选同类元素集存在两个或两个以上的元素,可以获取这些元素的共有分类(class)列表C,由于所有元素对应的分类可能是一个或多个,因此共有分类列表C中可能包含一个分类或多个分类。这些共有分类列表相当于用来表示这些元素的共有特征,便于后续选择器基于这些共有特征筛选出更多的同类元素。
在获得共有分类列表C之后,针对每个第三候选同类元素,可以将共有分类,以及第三候选同类元素对应的标签组合,从而获得该第三候选同类元素的选择器PS1。该选择器不仅能够表示第三候选同类元素,还保留了这些候选同类元素的共同特征,便于后续筛选出更多的同类元素。选择器例如,PS1为p.a.b,其中p是标签,a、b表示分类。
作为一种实施例,为了保证选择器能够匹配出唯一的节点,判断生成的第二选择器是否从目标网页中匹配出唯一的节点,如果是,则将PS1确定为该节点的选择器。当然,实际上,基于上述过程确定出的选择器一般情况下都是匹配出唯一的节点。
作为一种实施例,如果S2.2.1中,提前按照标签对路径进行了分类,那么,第三候选同类元素对应的标签实际上也就是该第三候选同类元素所在分组的标签。
在第二种情况下,如果第三候选同类元素集存在一个第三候选同类元素,则将第三候选同类元素的标志ID确定为第三候选同类元素的第二选择器,获得第一选择器集。
如果第三候选同类元素中只有一个元素,那么只需要表示这一个元素即可,也不存在提取多个元素的共同特征的必要,因此,可以直接用该第三候选同类元素的ID作为该第三候选同类元素的选择器。当然,这种情况下,第一选择器集也就只有一个第一选择器PS2,第一选择器例如#id_1。
作为一种实施例,为了保证选择器能够匹配出唯一的节点,判断生成的第二选择器是否从目标网页中匹配出唯一的节点,如果是,则将PS2确定为该节点的选择器。当然,实际上,每个节点的ID都是唯一的,因此,基于该ID从目标网页中能够匹配出的节点一般也是唯一的。
对每个第三候选同类元素均执行上述处理过程,就可以获得每个第三候选同类元素对应的选择器,这些选择器组成第一选择器集。
S2.2.3,针对第二选择器集中每个第二选择器,组合第二选择器,以及第二选择器表示的第三候选同类元素的上一层元素对应的第二选择器,确定第三候选同类元素对应的第二选择器,获得第一选择器集。
针对一个第三候选同类元素,将该第三候选同类元素对应的选择器,与该第三候选同类元素上一层的第二选择器组合,组合方式例如以”>”进行组合,对每个第三选择器均执行该过程,就能获得第二选择器集S。该第二选择器集S不仅可以从目标网页中匹配到第三候选同类元素集中的所有元素,还可以匹配出一部分第三候选同类元素集的同类元素。
S2.3,根据第二选择器集,获得第一候选同类元素。
在获得第二选择器集之后,比如可以用第二选择器集匹配出各同类元素,从而获得第一候选同类元素M。利用第二选择器集去匹配同类元素,可以匹配出更多的同类元素。利用第二选择器集匹配出的同类元素包括第三候选同类元素中的所有元素,还包括一些除了第三候选同类元素之外的同类元素。
S703,响应于针对目标网页中元素的拒绝操作,获得拒绝元素集。
用户可以对目标网页中多个元素进行点击操作,或者对网页进行语音输入操作,屏蔽自己不想要的元素,这些不想要的元素,组成拒绝元素集。
S704,获得拒绝元素集,以及各拒绝元素对应的相似元素所组成的第一候选拒绝元素集。具体获得第一候选拒绝元素集的方式示例如下:
示例一:
遍历目标网页中根节点到各拒绝元素路径中的各节点,获得第一候选拒绝元素。
具体的,遍历根节点到各拒绝元素的路径中的各个节点,将这些节点组成第一候选拒绝元素。该方式获得第一候选拒绝元素简单直接。
示例二:
S3.1,遍历目标网页中根节点到各拒绝元素的路径,获得拒绝路径集。
在获得各拒绝元素之后,可以遍历根节点到拒绝元素的路径,这样,可以获得根节点到每个拒绝元素的路径,从而获得拒绝路径集合。
例如,拒绝元素表示为Ri,获得根节点到拒绝元素的路径PRi,获得的拒绝路径集合可以表示为PR。
S3.2,按照对选择路径集中各选择路径进行分组的标签,对拒绝路径集进行分组,获得分组拒绝路径集。
如前文论述的内容,在对选择路径集按照标签进行分组时,或者按照标签进行分组之后,可以按照这些标签再对拒绝路径集进行分组,这样,相当于可以获得具有相同标签的拒绝路径和选择路径之间的对应关系,也就是说,分组拒绝路径与对应的分组选择路径中的路径节点的标签是一致的。
S3.3,针对分组拒绝路径集中每个分组拒绝路径,提取每个分组拒绝路径中各个节点,获得第二候选拒绝元素集。
在获得这个分组拒绝路径集之后,可以根据每个分组下的拒绝路径,获得各个节点,这些节点共同组成第二候选拒绝元素集NR。由于依旧是按照路径的先后去获得的这些节点,因此,第二候选拒绝元素集NR中可以保留各元素的层信息,以及各元素的ID信息。
S3.4,从第二候选拒绝元素集NR中逐层去除对应分组选择路径的候选同类元素,获得第一候选拒绝元素。
在获得第二候选拒绝元素集NR之后,可以逐层删除这些层中与分组选择路径对应的候选同类元素,从而获得第一候选拒绝元素LR。逐层可以理解为,是针对同一层中,删除该第二候选拒绝元素集NR中与第三候选同类元素集LA相同的元素,该过程可以表示为LR=NR-LA。
实际上,S2.4可以进一步理解为将第二候选拒绝元素NR中与分组选择路径集中具有相同标签,位于同一层,且相同的元素删除,这样获得的LR中的每个元素可以视为初步筛选出的可以剔除的元素。
需要说明的是,S702和S704的顺序可以是任意的,本申请不做具体限制.
S705,删除第一候选同类元素集中的部分候选同类元素,获得第二候选同类元素集。其中,部分候选同类元素包括与选择元素集中元素不具有共有特征,但与第一候选拒绝元素集中元素具有共有特征的元素。
S705的具体实现方式示例如下:
示例一:将第一候选同类元素集中的选择元素集与第一候选拒绝元素集进行匹配,匹配出与选择元素集与第一候选拒绝元素集具有共同特征的元素,然后在第一候选拒绝元素集中删除这些具有共同特征的元素,再从第一候选同类元素集中删除已经过删除处理后的第一候选拒绝元素集。该方式中,进行元素匹配的方式相对较为直接。
示例二:
S4.1,确定第一候选拒绝元素集与第一候选同类元素集存在的共同元素集;
S4.2,根据共同元素集,调整第二选择器集,获得第三选择器集;其中,第三选择器集从所述目标网页中匹配出的元素排除共同元素集中部分或全部的元素;
S4.3,根据第三选择器集,获得第二候选同类元素。
具体的,将第一候选同类元素集M与第一候选拒绝元素LR进行匹配,如果第一候选同类元素集M和第一候选拒绝元素集LR之间不存在交集,那么表示第一候选同类元素集M已经不包括拒绝元素以及拒绝元素的相似元素,因此无需对第二选择器集进行调整,第二选择器集匹配出的第一候选同类元素集M也就是最后获得的第二候选同类元素。
如果第一候选同类元素集M和第一候选拒绝元素集LR之间存在相同的元素,那么这些相同元素的组合也就是共同元素集,在这情况下,第一候选同类元素集M和第一候选拒绝元素集LR之间存在相同的元素,那么就表示第二选择器集匹配出的元素其实包含部分候选拒绝元素,因此可以基于共同元素集,调整第二选择器集,得到第三选择器集,使得第三选择器集从目标网页中匹配出的元素能够不包含共同元素集中的部分或者全部元素。这样,能使得最终找出的同类元素尽可能地不包含拒绝元素以及拒绝元素的相似元素。
具体调整第二选择器集的方式如下:
如果第一候选拒绝元素集的数量大于阈值,则在第二选择器集中,删除部分第二选择器,获得第三选择器集;其中,部分第二选择器包括共同元素集中不属于选择元素的元素集关联的第二选择器。如果第一候选拒绝元素集的数量小于或等于阈值,则在第二选择器集中,删除部分第二选择器,获得第三选择器集;其中,部分第二选择器包括共同元素集中与第一候选拒绝元素集属于相同分类的元素关联的第二选择器。
其中,阈值可以是固定的一个值,也可以是根据第三候选同类元素集LA的元素数量确定的,比如,阈值为第三候选同类元素集LA的元素数量的两倍。
具体的,当第一候选拒绝元素集MR中包括的元素数量大于阈值,也就表示第一候选拒绝元素集MR中包括的元素比较多,如果直接删除第二选择器集中与共同元素集对应的选择器删除,那么可能会删除选择元素,因此,在第三候选同类元素集LA的元素数量较多的时候,可以先基于共同元素集确定出与第三候选同类元素集属于不同分类的元素,然后结合第三候选同类元素LA的位置信息,筛选掉选择元素,进而从第二选择器集中确定出这部分元素对应的选择器,再从第二选择器集中删除这些选择器,得到第三选择器集。
该方式中,在确定基于共同元素集确定出与第三候选同类元素集属于不同分类的元素之后,由于结合第三候选同类元素集LA的位置信息,保留选择元素,然后删除除了共同元素集中不属于选择元素关联的选择器,这样可以最大程度地保留选择元素,避免过度删减元素。
比如,可以筛选出在共同元素集中与第一候选拒绝元素集MR属于同分类,但与第一候选同类元素属于不同分类的元素,通过“:not()”对第二选择器集进行修正,获得第三选择器集。
当第一候选拒绝元素集MR中包括的元素数量小于或等于阈值,也就表示第一候选拒绝元素集MR中包括的元素相对较少,因此,可以从共同元素集中确定出与第一候选拒绝元素集属于相同分类的元素,删除这些元素关联的选择器,得到第三选择器集。由于这种情况下,第一候选拒绝元素集MR包括的元素数量较少,因此可以删除第一候选拒绝元素集MR特有分类元素所对应的选择器,从而获得第三选择器集。
作为一种实施例,如果第三选择器集匹配出的同类元素与第一候选拒绝元素集MR依旧存在共同元素,则继续按照上述方式对第三选择器集继续调整,直到调整后的选择器集匹配出的元素与第一候选拒绝元素集MR不存在相同的元素为止。
在对第二选择器集进行调整之后,获得第三选择器集,再基于第三选择器集,去匹配出对应的元素,获得第二候选同类元素。
S706,根据第二候选同类元素集,获得选择元素集对应的目标同类元素集。
可以将第二候选同类元素集全部作为目标同类元素集。或者从第三选择器集中选择最后一层的选择器,将最后一层的选择器匹配出目标同类元素集。或者可以调整第三选择器集,根据调整后的第三选择器集,匹配出选择元素集对应的目标同类元素。调整第三选择器集比如可以是丢弃每个选择器中的部分祖先特征。具体丢弃祖先特征的方式示例如下:
确定每个第三选择器中祖先特征的数量n,依次尝试丢弃i~n-1个连续的组先特征,只要保证丢弃祖先特征后的各个选择器匹配出的同类元素与第三选择器集匹配出的同类元素相同即可。
作为一种实施例,可以是在第三候选同类元素集LA只包括一个元素的时候,丢弃第三选择器集的部分祖先特征,这样可以确保丢弃后的选择器与丢弃前的选择器能够匹配到元素相同。
在该实施例中,丢弃第三选择器集中部分祖先元素,这样获得的选择器保留的中间节点的信息更少,减少了选择器对dom树结构的依赖,使得获得的选择器具有更高的稳定性,使得这些选择器能够用于匹配相似页面上的元素。
例如,请继续参照图9,表示一种匹配出同类元素的结果示意图,图9中圆圈表示的元素为用户选择的选择元素(具体如图9中所示的多个p.c),图9中椭圆所表示的为用户点击的拒绝元素(具体如图9中p.c.d以及两个p),最终基于选择元素集和拒绝元素集匹配出的同类元素集如图9中900所示多个p.c。
继续参照图8中的例子,用户框选了的游戏a和c作为选择元素801,这两个条目构成选择元素集合,用户屏蔽了的游戏d作为拒绝元素802。同类元素确定设备基于该用户的选择,显示如图10所示的界面,图10中界面中包括用户选择的游戏a和c,不再显示游戏d,另外还显示有基于这些同类元素以及拒绝元素推出来的游戏f和g等。
图7论述的同类元素确定方法中,生成的选择器可以稳定的定位网页上的元素,且可以在相似的网页上进行定位。且还可以应用于同类元素的寻找,使用户通过几次点击的方式,获得想要的全部同类元素,同时尽可能地过滤掉用户不想要的元素及其同类元素,在可视化爬虫系统中发挥了重要的作用。
为了更清楚地说明本申请实施例涉及的同类元素确定方法,下面结合图11所示的流程图,对本申请实施例中的同类元素确定方法进行示例介绍:
S1101,获取选择元素集以及拒绝元素集。
S1102,获得根节点到每个选择元素的路径,获得选择路径集PA,以及获得根节点到每个拒绝元素的路径,获得拒绝元素路径集PR。
S1103,按照标签对选择路径集PA进行分组,获得分组选择路径集G。
S1104,获得每个Gi中路径的长度L(G.length),然后从1开始依次生成L个选择器,获得第二选择器集。其中,第j个selector GSj对应着Gi中路径在第j个位置的路径节点。
S1105,遍历分组选择路径集G中各节点,获得候选同类元素集LA,以及对分组拒绝路径集进行分组,遍历分组拒绝路径集各节点,获得候选拒绝元素集NR。
其中,候选同类元素集LA对应前文中的第三候选同类元素集。
S1106,逐层,删除候选拒绝元素NR中包括的候选同类元素集LA,从而获得候选拒绝元素集LR。
S1107,确定候选同类元素集LA中共有分类列表。
S1108,将第候选同类元素集LA中每个候选同类元素转换为选择器表示,获得选择器集。
具体的,判断候选同类元素集LA是否包括一个元素。如果第三候选同类元素包括一个同类元素,用该第三候选同类元素的ID作为该第三候选同类元素的选择器,并判断该ID从目标网页中匹配到唯一的候选同类元素。如果该ID能够匹配到唯一的候选同类元素,就获得该第三候选同类元素的第二选择器。如果第三候选同类元素包括多个同类元素,或者S1007中该ID能够匹配的选择器并不是唯一的,则可以用共有分类列表以及候选同类元素的标签,组成候选同类元素的第二选择器。
S1109,组合第二选择器,以及第二选择器表示的候选同类元素集LA的上一层元素对应的第二选择器,确定第三候选同类元素对应的第一选择器,获得第一选择器集。
S1110,根据第一选择器集,匹配得到第一候选同类元素。
S1111,判断第一候选同类元素集和第一候选拒绝元素集之间是否存在交集,如果不存在交集,则第一选择器集匹配出的候选同类元素为选择元素集的目标同类元素。如果存在交集,则根据交集对应的共同元素集,对第一选择器集进行调整,获得第三选择器集。
具体调整规则示例如下:
1:如果第一候选拒绝元素集LR中元素过多,比如第一候选拒绝元素集LR的元素个数大于第一候选同类元素集LA中元素个数的2倍,则认为第一候选拒绝元素集LR过多,则分析共同元素集MR所有元素的分类(class),从中挑选出共同元素集MR特有的class,而第一候选同类元素集LA中元素没有的class,并结合第一候选同类元素集LA中元素的位置信息,对第一选择器集使用”:not()”进行修正(:not在selector中表示去除的意思),获得第三选择器集。
2:如果LR中元素并不多,则分析MR中元素特有的class,对第一选择器集进行修改。如果修改后的第一选择器集仍匹配到LR中元素,第一选择器集匹配得到的LR中的元素集合为MR2,则继续分析MR2和LA中元素的位置信息,根据位置信息对修改后的第一选择器集继续进行修改。
S1112,如果LA包括的元素只有一个,可以丢弃第三选择器集中的部分祖先特征,获得丢弃后的第三选择器。
具体的,第三选择器集会尽可能的不匹配LR中的元素及其相似元素。如果LA中元素只有一个,则尝试丢弃第三选择器集中的部分或全部祖先特征,丢弃祖先特征的方式可以参照前文论述的内容,此处不再赘述。这样修改后的第三选择器集由于不需要依赖过多的中间节点信息,生成的选择器会更稳定。
S1113,将修改后的第三选择器集中最后一层的选择器匹配出的元素确定为选择元素集的目标同类元素集。
第三选择器集匹配出的候选同类元素即为第二候选同类元素,再根据第二候选同类元素中对应最后一层的候选同类元素作为选择元素集的目标同类元素集。
在实际同类元素确定过程中,图3和图7论述的同类元素确定过程可能均执行,也可能执行其中的一种。当图3和图7论述的过程均执行时,图3和图7论述的过程的先后顺序可以是任意的。
比如,在爬取与目标元素相关的相似元素之后,用户基于这些显示的相似元素,去进行点击操作等,以生成选择元素集以及拒绝元素集等,执行前文图7中论述的步骤。或者比如,在基于图3的过程获得选择元素集的同类元素集之后,用户也可以点击同类元素集中的某一个元素,同类元素确定设备进而执行图3所示的过程。
为了更清楚地说明图3以及图7论述的同类元素确定方法的过程,下面以爬取游戏数据为例,对本申请实施例涉及的同类元素确定方法的过程进行示例介绍。
S5.1:获得选择元素集。
用户可以输入自己想要爬取的游戏相关页面的网页地址,游戏相关页面比如用户可以输入一些游戏排行榜页面等,同类元素确定设备100提取网页地址关联的页面的前端代码等,就可以获取这些页面的元素信息,并将这些元素信息显示出来,这里的元素信息可以是元素本身,还可以包括元素的相关信息,比如元素对应的子元素等。展示的这些元素,有些可能是用户想要的,有些可能并不是用户想要的,比如用户可以勾选或点击自己想要的元素,这样同类元素确定设备100可以根据用户的操作,获得用户对应的选择元素集。
作为一种实施例,用户可能并不想要一些元素,用户可以选择屏蔽对应的元素,同类元素确定设备100可以基于用户的屏蔽操作,获得拒绝元素集。
例如,继续参照8,同类元素确定设备100对某个游戏排行榜页面进行提取,显示如图8所示的界面,该界面中显示了各元素,比如游戏排名、游戏名称、游戏关键词和游戏指数等,用户可以基于这些内容,点击自己想要的元素,比如用户点击游戏a和游戏c,那么选择元素就包括游戏a和游戏c。
例如,继续参照图8,用户屏蔽游戏d相关的内容,同类元素确定设备100可以基于该操作,获得拒绝元素包括游戏d。
S5.2,根据选择元素集,获得选择路径集。
在获得选择元素集之后,同类元素确定设备100可以根据每个选择元素,遍历页面中dom树中根节点到选择元素的路径,以此类推,可以获得选择路径集。
作为一种实施例,用户选择拒绝元素集时,同类元素确定设备100可以根据拒绝元素集,遍历根节点到拒绝元素的路径,以此类推,可以获得拒绝路径集。并遍历拒绝路径中各节点,从而获得第二拒绝元素集。
进一步的,按照标签对选择路径集进行分组,获得分组选择路径集,并按照这些标签,对拒绝路径集进行分组,获得分组拒绝路径集。
根据分组拒绝元素集,获得第二候选拒绝元素集,并删除分组拒绝路径集中对应层中的候选同类元素,获得第一候选拒绝元素集。
S5.3,针对选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集。
当用户选择的元素仅包括选择元素集时,可以按照图3论述的方式去生成第一选择器集,当用户选择的元素包括选择元素集以及拒绝元素集时,可以按照图7论述的方式去生成第一选择器集,此处不再赘述。
S5.4,根据第一选择器集,获得第一候选同类元素集。
当用户选择的元素仅包括选择元素集时,可以按照图3论述的方式去生成第一候选同类元素集。当用户选择的元素包括选择元素集以及拒绝元素集时,可以按照上述图7论述的方式生成第一候选同类元素集。
S5.5,根据第一候选同类元素集,获得目标同类元素集。当用户选择的元素仅包括选择元素集时,获得第一候选同类元素集即为目标同类元素。
当用户选择的元素包括选择元素集以及拒绝元素集时,可以按照上述第一候选拒绝元素集,删除第一候选同类元素集中部分候选同类元素,获得第二候选同类元素,并基于第二候选同类元素,获得目标同类元素集。
例如,继续参照图10,同类元素确定设备100基于选择元素集(游戏a和游戏c),以及基于拒绝元素集(游戏d)生成如图10所示的界面,该界面中包括选择元素集,以及基于选择元素集相似的同类元素f和g,并删除了拒绝元素d,从而生成如图10的界面。
该实施例生成的选择器可以稳定的定位网页上的元素,且可以在相似的网页上进行定位。同时本申请实施例还可以应用于同类元素的寻找,使用户可以通过几次点击的方式,获得想要的全部同类元素,同时尽可能地过滤掉用户不想要的元素及其同类元素,在可视化爬虫系统中发挥了重要的作用。
基于同一发明构思,本申请实施例提供一种同类元素确定装置,请参照图12,该装置包括:
第一获得模块1201,用于响应于针对目标网页中元素的选择操作,获得选择元素集;
确定模块1202,用于针对每个选择元素,确定选择元素在文档对象模型树中相对于到根节点的路径,获得选择路径集;
生成模块1203,用于针对选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集;
第二获得模块1204,用于根据第一选择器集,获得第一候选同类元素集;
第三获得模块1205,用于根据第一候选同类元素集,获得目标同类元素集。
在一种可能的实施例中,第三获得模块具体用于:
根据拒绝元素集,获得拒绝元素集以及各拒绝元素的相似元素组成的第一候选拒绝元素集;其中,拒绝元素集是根据目标网页中元素的拒绝操作生成的;
删除第一候选同类元素集中的部分候选同类元素,获得第二候选同类元素集;其中,部分候选同类元素包括与选择元素集中元素不具有共有特征,但与第一候选拒绝元素集中元素具有共有特征的元素;
根据第二候选同类元素集,获得目标同类元素。
在一种可能的实施例中,第三获得模块1205具体用于:
根据标签对选择路径集进行分组,得到分组选择路径集;
按照对分组选择路径集对应的标签对拒绝路径集进行分组,得到分组拒绝路径集;其中,拒绝路径集是包括各拒绝元素在文档对象模型树中相对于到根节点的路径;
针对每个分组拒绝路径,遍历分组拒绝路径中的各节点,得到第二候选拒绝元素集;
从第二候选拒绝元素集中逐层去除对应分组选择路径集中的候选同类元素,得到第一候选拒绝元素集。
在一种可能的实施例中,第三获得模块1205具体用于:
确定第一候选拒绝元素集与第一候选同类元素集存在的共同元素集;
根据共同元素集,调整第一选择器集,获得第三选择器集;其中,第三选择器集从目标网页中匹配出的元素排除共同元素集中部分或全部的元素;
根据第三选择器集,获得第二候选同类元素。
在一种可能的实施例中,第三获得模块1205具体用于:
若第一候选拒绝元素集的数量大于阈值,则在第一选择器集中,删除部分第一选择器,获得第三选择器集;其中,部分第一选择器包括共同元素集中与不属于选择元素集的元素关联的第一选择器;
若第一候选拒绝元素集的数量小于或等于阈值,则在第一选择器集中,删除部分第一选择器,获得第三选择器集;其中,部分第一选择器包括共同元素集中与第一候选拒绝元素集属于相同分类的元素关联的第一选择器。
在一种可能的实施例中,生成模块1203具体用于:
获得第三侯选同类元素集;其中,第三候选同类元素包括各选择路径中各节点;
针对每个第三候选同类元素,确定出第三候选同类元素对应的选择器,获得第二选择器集;其中,每个第二选择器在目标网页中匹配出唯一的第三候选同类元素;
针对第二选择器集中每个第二选择器,组合第二选择器,以及第二选择器表示的第三候选同类元素的上一层元素对应的第二选择器,确定第三候选同类元素对应的第一选择器,获得第一选择器集。
在一种可能的实施例中,生成模块1203具体用于:
若第三候选同类元素集存在多个第三候选同类元素,则获取多个候选同类元素的共有分类列表;
针对每个第三候选同类元素,将共有分类列表,以及第三候选同类元素对应的标签确定为第三候选同类元素的第二选择器,获得第二选择器集;
若第三候选同类元素集存在一个第三候选同类元素,则将第三候选同类元素的标志ID确定为第三候选同类元素的第二选择器,获得第二选择器集。
在一种可能的实施例中,生成模块1203具体用于:
针对选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集,包括:
针对每个选择路径,获得各节点对应的选择器,获得第四选择器集;
针对每个第四选择器,将第四选择器,以及第四选择器关联的节点到根节点之间的特征进行组合,确定第四选择器对应的第五选择器,获得第五选择器集;
针对第五选择器集中每个第五选择器,丢弃第五选择器集中部分祖先特征,获得第六选择器,获得第六选择器集;其中,祖先特征是指第四选择器关联的元素的上层节点的特征;
根据各第六选择器与第五选择器集,得到第一选择器集。
在一种可能的实施例中,生成模块1203具体用于:
组合各第六选择器与第五选择器集,获得第七选择器集;
在第七选择器集中,将优先级最高的第七选择器确定为第一选择器集;其中,第七选择器中包括的祖先特征的数量越少,元素在目标网页中的位置信息越少,则第七选择器对应的优先级越高。
基于同一发明构思,本申请实施例还提供了一种计算机设备,该计算机设备可以为智能手机、平板电脑,手提电脑或PC机等电子设备。该计算机设备可以用于实现前文论述的同类元素确定设备100的功能。
请参照图13,该计算机设备1300包括显示单元1340、处理器1380以及存储器1320,其中,显示单元1340包括显示面板1341,用于显示由用户输入的信息或提供给用户的信息以及计算机设备1300的各种操作界面等,在本申请实施例中主要用于显示计算机设备1300中已安装的客户端或浏览器的界面、快捷窗口等。可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)或有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1341。
处理器1380用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器1380读取对应的同类元素确定代码,从而在该计算机设备1300上执行同类元素确定过程,在显示单元1340上显示应用的界面。处理器1380可以包括一个或多个通用处理器,还可包括一个或多个数字信号处理器(Digital Signal Processor,DSP),用于执行相关操作,以实现本申请实施例所提供的技术方案。
存储器1320一般包括内存和外存,内存可以为随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)等。外存可以为硬盘、光盘、USB盘、软盘或磁带机等。存储器1320用于存储计算机程序和其他数据,该计算机程序包括应用程序等,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本申请实施例中程序指令存储在存储器1320中,处理器1380执行存储器1320中的程序指令,实现前文论述的同类元素确定方法。另外,处理器1380执行存储器1320中的程序指令,可以实现前文论述的同类元素确定装置1200的功能。
此外,计算机设备1300还可以包括显示单元1340,用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与计算机设备110的用户设置以及功能控制有关的信号输入等。具体地,本申请实施例中,该显示单元1340可以包括显示面板1341。显示面板1341例如触摸屏,可收集用户在其上或附近的触摸操作(比如玩家使用手指、触笔等任何适合的物体或附件在显示面板1341上或在显示面板1341的操作),并根据预先设定的程式驱动相应的连接装置。可选的,显示面板1341可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1380,并能接收处理器1380发来的命令并加以执行。在本申请实施例中,若用户进行点击元素的操作,则在显示面板1341中的触摸检测装置检测到触摸操作,则将检测到的触摸操作对应的信号发送的触摸控制器,触摸控制器将信号转换成触点坐标发送给处理器1380,处理器1380根据接收到的触点坐标确定用户进行选择的选择操作,从而确定用户输入的选择元素集。
其中,显示面板1341可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元1340,计算机设备1300还可以包括输入单元1330,输入单元1330可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。输入单元1330例如图像输入设备1331和其他输入设备1332。
除以上之外,计算机设备1300还可以包括用于给其他模块供电的电源1390、音频电路1360、近场通信模块1370和RF电路1310。计算机设备1300还可以包括一个或多个传感器1350,例如加速度传感器、光传感器、压力传感器等。音频电路1360具体包括扬声器1361和麦克风1362等,例如用户不使用触摸操作的情况下,计算机设备1300可以通过麦克风1362采集用户的声音,将用户的声音作为用户输入的语音控制指令。并可以通过扬声器1361进行播放输入的语音控制指令。
基于同一发明构思,本申请实施例提供一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行前文论述的同类元素确定方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种同类元素确定方法,其特征在于,包括:
响应于针对目标网页中元素的选择操作,获得选择元素集;
针对每个选择元素,确定选择元素在文档对象模型树中相对于到根节点的路径,获得选择路径集;
针对所述选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集;
根据所述第一选择器集,获得第一候选同类元素集;
根据所述第一候选同类元素集,获得目标同类元素集。
2.如权利要求1所述的方法,其特征在于,根据所述第一候选同类元素集,获得目标同类元素集,包括:
根据拒绝元素集,获得拒绝元素集以及各拒绝元素的相似元素组成的第一候选拒绝元素集;其中,拒绝元素集是根据目标网页中元素的拒绝操作生成的;
删除所述第一候选同类元素集中的部分候选同类元素,获得第二候选同类元素集;其中,部分候选同类元素包括与所述选择元素集中元素不具有共有特征,但与所述第一候选拒绝元素集中元素具有共有特征的元素;
根据第二候选同类元素集,获得目标同类元素。
3.如权利要求2所述的方法,其特征在于,获得拒绝元素集以及各拒绝元素的相似元素组成的第一候选拒绝元素集,包括:
根据标签对选择路径集进行分组,得到分组选择路径集;
按照对分组选择路径集对应的标签对拒绝路径集进行分组,得到分组拒绝路径集;其中,所述拒绝路径集是包括各拒绝元素在文档对象模型树中相对于到根节点的路径;
针对每个分组拒绝路径,遍历分组拒绝路径中的各节点,得到第二候选拒绝元素集;
从所述第二候选拒绝元素集中逐层去除对应分组选择路径集中的候选同类元素,得到第一候选拒绝元素集。
4.如权利要求2或3所述的方法,其特征在于,删除所述第一候选同类元素集中的部分候选同类元素,获得第二候选同类元素集,包括:
确定所述第一候选拒绝元素集与所述第一候选同类元素集存在的共同元素集;
根据所述共同元素集,调整所述第一选择器集,获得第三选择器集;其中,所述第三选择器集从所述目标网页中匹配出的元素排除所述共同元素集中部分或全部的元素;
根据所述第三选择器集,获得第二候选同类元素。
5.如权利要求4所述的方法,其特征在于,根据所述共同元素集中各共同元素的分类,调整所述第一选择器集,获得第三选择器集,包括:
若所述第一候选拒绝元素集的数量大于阈值,则在所述第一选择器集中,删除部分第一选择器,获得第三选择器集;其中,部分第一选择器包括所述共同元素集中与不属于选择元素集的元素关联的第一选择器;
若所述第一候选拒绝元素集的数量小于或等于阈值,则在所述第一选择器集中,删除部分第一选择器,获得第三选择器集;其中,部分第一选择器包括所述共同元素集中与所述第一候选拒绝元素集属于相同分类的元素关联的第一选择器。
6.如权利要求1~3任一项所述的方法,其特征在于,针对所述选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集,包括:
获得第三侯选同类元素集;其中,所述第三候选同类元素包括各选择路径中各节点;
针对每个第三候选同类元素,确定出第三候选同类元素对应的选择器,获得第二选择器集;其中,每个第二选择器在所述目标网页中匹配出唯一的第三候选同类元素;
针对第二选择器集中每个第二选择器,组合第二选择器,以及第二选择器表示的第三候选同类元素的上一层元素对应的第二选择器,确定第三候选同类元素对应的第一选择器,获得第一选择器集。
7.如权利要求6所述的方法,其特征在于,针对每个第三候选同类元素,确定出第三候选同类元素对应的选择器,获得第二选择器集,包括:
若第三候选同类元素集存在多个第三候选同类元素,则获取多个候选同类元素的共有分类列表;
针对每个第三候选同类元素,将共有分类列表,以及第三候选同类元素对应的标签确定为第三候选同类元素的第二选择器,获得第二选择器集;
若第三候选同类元素集存在一个第三候选同类元素,则将第三候选同类元素的标志ID确定为第三候选同类元素的第二选择器,获得第二选择器集。
8.如权利要求1所述的方法,其特征在于,针对所述选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集,包括:
针对每个选择路径,获得各节点对应的选择器,获得第四选择器集;
针对每个第四选择器,将第四选择器,以及第四选择器关联的节点到根节点之间的特征进行组合,确定第四选择器对应的第五选择器,获得第五选择器集;
针对第五选择器集中每个第五选择器,丢弃第五选择器集中部分祖先特征,获得第六选择器,获得第六选择器集;其中,祖先特征是指第四选择器关联的元素的上层节点的特征;
根据各第六选择器与第五选择器集,得到第一选择器集。
9.如权利要求8所述的方法,其特征在于,根据各第六选择器与第五选择器集,得到第一选择器集,包括:
组合各第六选择器与第五选择器集,获得第七选择器集;
在所述第七选择器集中,将优先级最高的第七选择器确定为第一选择器集;其中,第七选择器中包括的祖先特征的数量越少,元素在所述目标网页中的位置信息越少,则第七选择器对应的优先级越高。
10.一种同类元素确定装置,其特征在于,包括:
第一获得模块,用于响应于针对目标网页中元素的选择操作,获得选择元素集;
确定模块,用于针对每个选择元素,确定选择元素在文档对象模型树中相对于到根节点的路径,获得选择路径集;
生成模块,用于针对所述选择路径集中每个选择路径,逐层向下生成每一层中各节点对应的选择器,获得第一选择器集;
第二获得模块,用于根据所述第一选择器集,获得第一候选同类元素集;
第三获得模块,用于根据所述第一候选同类元素集,获得目标同类元素集。
11.如权利要求10所述的装置,其特征在于,第三获得模块具体用于:
根据拒绝元素集,获得拒绝元素集以及各拒绝元素的相似元素组成的第一候选拒绝元素集;其中,拒绝元素集是根据目标网页中元素的拒绝操作生成的;
删除所述第一候选同类元素集中的部分候选同类元素,获得第二候选同类元素集;其中,部分候选同类元素包括与所述选择元素集中元素不具有共有特征,但与所述第一候选拒绝元素集中元素具有共有特征的元素;
根据第二候选同类元素集,获得目标同类元素。
12.一种计算机设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1~9中任一项所述的方法。
13.一种存储介质,其特征在于,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1~9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010241436.5A CN111460259B (zh) | 2020-03-31 | 2020-03-31 | 一种同类元素确定方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010241436.5A CN111460259B (zh) | 2020-03-31 | 2020-03-31 | 一种同类元素确定方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460259A true CN111460259A (zh) | 2020-07-28 |
CN111460259B CN111460259B (zh) | 2023-04-14 |
Family
ID=71682958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010241436.5A Active CN111460259B (zh) | 2020-03-31 | 2020-03-31 | 一种同类元素确定方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460259B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113176920A (zh) * | 2021-04-29 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种通用的rpa元素选择器管理系统 |
CN114626364A (zh) * | 2022-01-26 | 2022-06-14 | 科大讯飞股份有限公司 | 内容提取方法及相关装置、电子设备、存储介质 |
CN114691265A (zh) * | 2022-03-07 | 2022-07-01 | 达而观信息科技(上海)有限公司 | 一种软件界面结构化元素的批量抓取方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018010573A1 (zh) * | 2016-07-13 | 2018-01-18 | 阿里巴巴集团控股有限公司 | 一种脚本生成方法与装置 |
CN107943838A (zh) * | 2017-10-30 | 2018-04-20 | 北京大数元科技发展有限公司 | 一种自动获取xpath生成爬虫脚本的方法及系统 |
CN108920434A (zh) * | 2018-06-06 | 2018-11-30 | 武汉酷犬数据科技有限公司 | 一种通用的网页主题内容提取方法和系统 |
CN110187880A (zh) * | 2019-05-30 | 2019-08-30 | 北京腾云天下科技有限公司 | 一种同类元素识别方法、装置和计算设备 |
CN110309386A (zh) * | 2018-02-28 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种网页爬取的方法和装置 |
-
2020
- 2020-03-31 CN CN202010241436.5A patent/CN111460259B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018010573A1 (zh) * | 2016-07-13 | 2018-01-18 | 阿里巴巴集团控股有限公司 | 一种脚本生成方法与装置 |
CN107943838A (zh) * | 2017-10-30 | 2018-04-20 | 北京大数元科技发展有限公司 | 一种自动获取xpath生成爬虫脚本的方法及系统 |
CN110309386A (zh) * | 2018-02-28 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种网页爬取的方法和装置 |
CN108920434A (zh) * | 2018-06-06 | 2018-11-30 | 武汉酷犬数据科技有限公司 | 一种通用的网页主题内容提取方法和系统 |
CN110187880A (zh) * | 2019-05-30 | 2019-08-30 | 北京腾云天下科技有限公司 | 一种同类元素识别方法、装置和计算设备 |
Non-Patent Citations (2)
Title |
---|
曾健荣;张仰森;郑佳;黄改娟;陈若愚;: "面向多数据源的网络爬虫实现技术及应用" * |
魏倩男等: "基于网络爬虫的京东电商平台数据分析" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113176920A (zh) * | 2021-04-29 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种通用的rpa元素选择器管理系统 |
CN113176920B (zh) * | 2021-04-29 | 2024-05-31 | 上海云扩信息科技有限公司 | 一种通用的rpa元素选择器管理系统 |
CN114626364A (zh) * | 2022-01-26 | 2022-06-14 | 科大讯飞股份有限公司 | 内容提取方法及相关装置、电子设备、存储介质 |
CN114691265A (zh) * | 2022-03-07 | 2022-07-01 | 达而观信息科技(上海)有限公司 | 一种软件界面结构化元素的批量抓取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111460259B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107438814B (zh) | 移动设备及其方法和移动设备仿真器的方法 | |
US10353947B2 (en) | Relevancy evaluation for image search results | |
KR101377389B1 (ko) | 다차원 검색 시스템, 다차원 검색을 수행하는 컴퓨터 구현 방법 및 컴퓨터 실행가능 시스템 | |
US10599643B2 (en) | Template-driven structured query generation | |
US10162865B2 (en) | Generating image tags | |
US8275786B1 (en) | Contextual display of query refinements | |
CN111460259B (zh) | 一种同类元素确定方法、装置、计算机设备及存储介质 | |
US7917514B2 (en) | Visual and multi-dimensional search | |
US8874542B2 (en) | Displaying browse sequence with search results | |
US8577913B1 (en) | Generating midstring query refinements | |
KR101278406B1 (ko) | 버티컬 제안으로 검색 요청을 보조하는 시스템 및 방법 | |
US10417492B2 (en) | Conversion of static images into interactive maps | |
JP2017157192A (ja) | キーワードに基づいて画像とコンテンツアイテムをマッチングする方法 | |
US20150161129A1 (en) | Image result provisioning based on document classification | |
US11526575B2 (en) | Web browser with enhanced history classification | |
US8762368B1 (en) | Context-based filtering of search results | |
JP2015204105A (ja) | 推薦情報を提供するための方法および装置 | |
CN109634436A (zh) | 输入法的联想方法、装置、设备及可读存储介质 | |
CN105378728A (zh) | 用于表示和操纵元数据的装置和方法 | |
JP2017157193A (ja) | 画像とコンテンツのメタデータに基づいてコンテンツとマッチングする画像を選択する方法 | |
JP2009086858A (ja) | コンテンツ検索装置、コンテンツ検索方法、プログラムおよび記録媒体 | |
CN113596601A (zh) | 一种视频画面的定位方法、相关装置、设备及存储介质 | |
CN104376095A (zh) | 一种信息处理方法及电子设备 | |
CN111460257B (zh) | 专题生成方法、装置、电子设备和存储介质 | |
CN113569132A (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 |