CN108846061B - 屏蔽广告的方法、装置和终端设备 - Google Patents

屏蔽广告的方法、装置和终端设备 Download PDF

Info

Publication number
CN108846061B
CN108846061B CN201810561444.0A CN201810561444A CN108846061B CN 108846061 B CN108846061 B CN 108846061B CN 201810561444 A CN201810561444 A CN 201810561444A CN 108846061 B CN108846061 B CN 108846061B
Authority
CN
China
Prior art keywords
advertisement
page
attribute
elements
loaded
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
CN201810561444.0A
Other languages
English (en)
Other versions
CN108846061A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud 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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201810561444.0A priority Critical patent/CN108846061B/zh
Publication of CN108846061A publication Critical patent/CN108846061A/zh
Application granted granted Critical
Publication of CN108846061B publication Critical patent/CN108846061B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种屏蔽广告的方法、装置和终端设备;其中,该方法包括:从所述待加载页面的页面数据中,获取所述待加载页面中各元素的堆叠顺序标识,所述堆叠顺序标识用于表示各元素的堆叠顺序;判断所述堆叠顺序标识是否满足预设的标识范围;如果是,将所述堆叠顺序标识对应的元素确定为广告元素;屏蔽所述广告元素。本发明可以提高广告屏蔽效果,从而提高了用户体验度。

Description

屏蔽广告的方法、装置和终端设备
技术领域
本发明涉及互联网领域,具体而言,涉及一种屏蔽广告的方法、装置和终端设备。
背景技术
随着互联网的普及和发展,越来越多的公司选择在网站上投放广告,以提升知名度或进行产品促销;受显示区域的限制,广告窗口可能会遮挡网站内容,还会造成用户误点广告,对用户正常使用网站造成了一定的困扰。
鉴于部分用户对广告并不感兴趣,为提升用户体验,可采取一定的手段屏蔽掉网站上的广告;目前常用的方法是对当前网页的网页内容进行分析,根据网页内容中各元素的类别标识、ID标识等识别出属于广告部分的元素,并在显示过程中将这些广告元素予以屏蔽;然而,为了避免广告被屏蔽,越来越多的采用动态的方式为网站中元素分配类别标识和ID标识,这就使得上述广告屏蔽方式失效,屏蔽广告的效果变差,影响了用户的体验度。
发明内容
有鉴于此,本发明实施例的目的在于提供一种屏蔽广告的方法、装置和终端设备,以提高广告屏蔽效果,从而提高用户体验度。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种屏蔽广告的方法,该方法应用于终端设备,该方法包括:根据待加载页面中各元素的堆叠顺序,确定待加载页面中的广告元素;屏蔽该广告元素。
在本发明较佳的实施例中,上述根据待加载页面中各元素的堆叠顺序,确定待加载页面中的广告元素的步骤,包括:从待加载页面的页面数据中,获取待加载页面中各元素的堆叠顺序标识;堆叠顺序标识用于表示各元素的堆叠顺序;判断堆叠顺序标识是否满足预设的标识范围;如果是,将堆叠顺序标识对应的元素确定为广告元素。
在本发明较佳的实施例中,上述屏蔽广告元素的步骤,包括:将广告元素添加至预设的分组中;隐藏分组中的广告元素。
在本发明较佳的实施例中,上述隐藏分组中的广告元素的步骤,包括:采用循环的方式,遍历分组中的广告元素;逐一将广告元素的显示属性设置为隐藏。
在本发明较佳的实施例中,上述在确定待加载页面中的广告元素的步骤之后,上述方法还包括:从待加载页面的页面数据中,获取确定的广告元素之外的各元素的第一元素属性;判断第一元素属性的属性值中是否包含有第一指定内容;如果是,将第一元素属性对应的元素确定为广告元素。
在本发明较佳的实施例中,上述第一元素属性包括DOM节点的关键字、DOM节点的ID标识、父节点的关键字、父节点的ID标识中的至少一种;第一指定内容包括“ad-*”。
在本发明较佳的实施例中,上述方法还包括:从待加载页面的页面数据中,获取分组中的广告元素的第二元素属性;判断第二元素属性的属性值中是否包含有第二指定内容;如果是,确定广告元素为非广告元素,从分组中剔除广告元素。
第二方面,本发明实施例提供了一种屏蔽广告的装置,该装置设置于终端设备,该装置包括:确定模块,用于根据待加载页面中各元素的堆叠顺序,确定待加载页面中的广告元素;屏蔽模块,用于屏蔽广告元素。
在本发明较佳的实施例中,上述确定模块,包括:
第一属性获取模块,用于从待加载页面的页面数据中,获取待加载页面中各元素的堆叠顺序标识;堆叠顺序标识用于表示各元素的堆叠顺序;
第一元素确定模块,用于判断堆叠顺序标识是否满足预设的标识范围;如果是,将堆叠顺序标识对应的元素确定为广告元素。
在本发明较佳的实施例中,上述屏蔽模块,还用于:将广告元素添加至预设的分组中;隐藏分组中的广告元素。
在本发明较佳的实施例中,上述屏蔽模块,还用于:采用循环的方式,遍历分组中的广告元素;逐一将广告元素的显示属性设置为隐藏。
在本发明较佳的实施例中,上述装置还包括:
第二属性获取模块,用于从待加载页面的页面数据中,获取确定的广告元素之外的各元素的第一元素属性;
第一判断模块,用于判断第一元素属性的属性值中是否包含有第一指定内容;
第二元素确定模块,用于如果第一元素属性的属性值中包含有第一指定内容,将第一元素属性对应的元素确定为广告元素。
在本发明较佳的实施例中,上述第一元素属性包括DOM节点的关键字、DOM节点的ID标识、父节点的关键字、父节点的ID标识中的至少一种;第一指定内容包括“ad-*”。
在本发明较佳的实施例中,上述装置还包括:
第三属性获取模块,用于从待加载页面的页面数据中,获取分组中的广告元素的第二元素属性;
第二判断模块,用于判断第二元素属性的属性值中是否包含有第二指定内容;
元素剔除模块,用于如果第二元素属性的属性值中包含有第二指定内容,确定广告元素为非广告元素,从分组中剔除广告元素。
第三方面,本发明实施例提供了一种终端设备,终端设备包括存储器以及处理器,存储器用于存储支持处理器执行上述屏蔽广告的方法的程序,处理器被配置为用于执行存储器中存储的程序。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存为上述屏蔽广告的装置所用的计算机软件指令。
与现有技术相比,本发明实施例提供的屏蔽广告的方法、装置、终端设备和计算机存储介质,根据待加载页面中各元素的堆叠顺序,确定该待加载页面中的广告元素,进而屏蔽该广告元素。该方式通过元素的堆叠顺序确定出广告元素,即使在动态标识定义网页元素的情况下也能有效地识别并屏蔽广告元素,提高了广告屏蔽效果,从而提高了用户体验度。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的一种屏蔽广告的方法的流程图;
图2是本发明实施例提供的另一种屏蔽广告的方法的流程图;
图3是本发明实施例提供的另一种屏蔽广告的方法的流程图;
图4是本发明实施例提供的另一种屏蔽广告的方法的流程图;
图5是本发明实施例提供的另一种屏蔽广告的方法的流程图;
图6是本发明实施例提供的另一种屏蔽广告的方法的流程图;
图7是本发明实施例提供的一种屏蔽广告的装置的结构示意图;
图8是本发明实施例提供的另一种屏蔽广告的装置的结构示意图;
图9是本发明实施例提供的另一种屏蔽广告的装置的结构示意图;
图10是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在网站或应用程序的页面上投放广告,通常是将广告写入对应的页面内容中,将该广告作为网页的一部分进行显示;为了屏蔽网页上的广告,通常需要从该页面的诸多显示元素中识别出广告元素,再将识别出的广告元素进行隐藏、删除等处理,这样就能显示较为纯净的页面。早期的网页开发过程中,常常采用固定的标识去定义或描述特定的内容,例如,通过ad定义广告内容,通过audio定义声音内容,通过canvas定义图形等;这种情况下,采用特定的标识(如“ad”)或标识加通配符(如“ad-*”)可以很容易从网页内容中识别并屏蔽掉广告。
为了避免这种广告屏蔽方式,网页中元素的定义方式也在发生变化;在其中一种方式中,通过特定的算法可以动态分配各元素的类别Class标识、ID标识或其他相关属性,尤其对于广告元素这种易被屏蔽的对象,常常采用随机生成的方式获得广告元素的类别标识、ID标识和属性;对于这样的网页元素定义方式,上述通过识别广告元素标识来屏蔽广告的方式就失效了,且这样的网页越多,这种屏蔽广告方式的效果就越差。
基于上述原因,本发明实施例提供了一种屏蔽广告的方法、装置和终端设备;该技术可以应用于浏览器、应用程序或用于管理设备安全的相关安全软件中等等,下面进行具体描述。
发明人在研究过程中发现,为了保证广告的醒目性和阅读量,网页或应用程序页面上的广告均设置在当前页面较为靠前的位置,不易被其他元素遮挡,因此,相对于网页中的其他元素,广告元素的堆叠顺序较为靠前。基于这一共性,本发明实施例首先提供了一种屏蔽广告的方法,如图1所示,该方法应用于终端设备,该终端设备包括台式计算机、手机、平板电脑或者其他专用终端等;该方法包括如下步骤:
步骤S102,根据待加载页面中各元素的堆叠顺序,确定该待加载页面中的广告元素。
用户通过输入网址或点击相关按钮,可以触发页面加载指令,终端收到该指令后,即加载指令对应的页面,该页面即为上述待加载页面;该待加载页面的页面数据包括页面代码,以及相关的图片、音频、视频、插件等。
通常,待加载页面的页面数据中定义了文字、图片、音频、视频等元素的大小、格式、位置以及堆叠顺序等参数,以在有限的显示区域内合理地排布这些元素;通过特定的程序语言可以实现上述这些元素排布,例如,HTML(HyperText Markup Language,超级文本标记语言)语言中,上述堆叠顺序可以通过z-index语句进行设置,z-index可称之为堆叠顺序标识;其他网页编程语言中,堆叠顺序采用对应的语句设置。
堆叠顺序标识的数值大小,一般与各元素本身的堆叠顺序一一对应;例如,可以设置堆叠顺序标识越大,其元素的堆叠顺序越靠前,也可以设置堆叠顺序标识越小,其元素的堆叠顺序越靠前。因此,可以根据大量现有网页上,广告元素的堆叠顺序特征,设置一个堆叠顺序的阈值范围,从而确定出广告元素。
以HTML语言为例,堆叠顺序标识越大,元素的堆叠顺序越靠前;通常,元素默认的z-index值为0;较为靠后的元素,z-index值可以设置为-1;较为靠前的元素,z-index值可以设置为1;而对于广告元素,网页开发人员为了避免广告被遮挡,常常设置广告元素的z-index值非常大,甚至达到10505,远远超出常用的z-index的取值范围。在实际实现时,可以设置z-index值大于指定值时,例如100,该z-index值对应的元素即可确定为广告元素。
步骤S104,屏蔽该广告元素;进而显示屏蔽处理后的待加载页面。
例如,具体可以采用删除、隐藏广告元素等形式屏蔽页面内的广告元素;如果当前页面内的广告元素较多,可以同时删除或隐藏这些广告元素,也可以循环删除或隐藏广告元素;当循环频率高于设定频率阈值时,用户观看网页时,会看到所有广告全部被屏蔽的效果。
本发明实施例提供的上述屏蔽广告的方法,根据待加载页面中各元素的堆叠顺序,确定该待加载页面中的广告元素,进而屏蔽该广告元素。该方式通过元素的堆叠顺序确定出广告元素,即使在动态标识定义网页元素的情况下也能有效地识别并屏蔽广告元素,提高了广告屏蔽效果,从而提高了用户体验度。
本发明实施例还提供了另一种屏蔽广告的方法,该方法在上述图1中所示方法的基础上实现,该方法中,通过堆叠顺序标识确定广告元素,该堆叠顺序标识可以用于表示各元素的堆叠顺序;并采用分组的形式屏蔽广告元素,如图2所示,该方法具体包括如下步骤:
步骤S202,获取待加载页面的页面数据。
在获取到待加载页面的页面数据后,即可从该页面数据中,获取待加载页面中各元素的堆叠顺序标识;本实施例中,以循环遍历形式为例,获取各元素的堆叠顺序标识;当然,还可以以其他顺序或形式获取该页面数据上各元素的堆叠顺序标识。
步骤S204,设置第i个元素,i=1,开始遍历页面数据中的元素;例如,可以按照页面数据中,页面代码的编制顺序,遍历该页面数据中的各个元素。
步骤S206,获取当前元素的堆叠顺序标识;例如,在HTML页面中,该堆叠顺序标识可以为上述z-index。
步骤S208,判断当前元素的堆叠顺序标识是否满足预设的标识范围;如果是,执行步骤S210,如果否,执行步骤S212。
具体而言,可以根据当前页面数据的编程语言设置合理的标识范围,还以HTML为例,可以设置一个阈值,并可以定义当前元素的堆叠顺序标识大于或等于该阈值时,确定该当前元素为广告元素。
步骤S210,将堆叠顺序标识对应的元素确定为广告元素。
步骤S212,判断是否遍历至最后一个元素;如果是,执行步骤S214;如果否,i=i+1,执行步骤S206。
步骤S214,将上述广告元素添加至预设的分组中;例如,可以预先定义一个数组,用于保存广告元素或广告元素对应的标识。
步骤S216,隐藏分组中的广告元素。
在实际实现时,本实施例中的屏蔽广告的方法通常以插件、监控软件的形式设置在终端中,一般不能对网页代码本身进行修改,例如,删除网页中的广告元素,因此通常采用隐藏或过滤广告元素的方式达到屏幕广告的效果。
步骤S218,显示处理后的待加载页面。
上述屏蔽广告的方法,根据待加载页面中各元素的堆叠顺序标识,确定广告元素,再通过将广告元素添加至分组中,以隐藏分组中广告元素的形式屏蔽广告。该方式便于操作,且屏蔽效果较好,从而提高了用户体验度。
在上述图2所示方法的基础上,本实施例还提供了另一种屏蔽广告的方法,该方法进一步描述了隐藏广告元素的具体方式,如图3所示,该方法包括如下步骤:
步骤S302,获取待加载页面的页面数据。
步骤S304,设置第i个元素,i=1,开始遍历页面数据中的元素。
步骤S306,获取当前元素的堆叠顺序标识。
步骤S308,判断当前元素的堆叠顺序标识是否满足预设的标识范围;如果是,执行步骤S310,如果否,执行步骤S312。
步骤S310,将堆叠顺序标识对应的元素确定为广告元素。
步骤S312,判断是否遍历至最后一个元素;如果是,执行步骤S314;如果否,i=i+1,执行步骤S306。
步骤S314,将上述广告元素添加至预设的分组中。
步骤S316,采用循环的方式,遍历分组中的广告元素;
步骤S318,逐一将广告元素的显示属性设置为隐藏。
例如,数组中包括多个广告元素,可以按照排列顺序,逐一将每个广告元素的显示属性设置为隐藏。由于通过插件或软件一般不能永久性地更改页面数据中元素的属性,因此,当前页面在显示的状态下,需要循环不断地更改广告元素的显示属性,避免广告在页面上时而出现时而消失的情况,保证页面上的广告被可靠稳定地屏蔽。
步骤S320,显示处理后的待加载页面。
通过将确定出的广告元素添加至分组,可以在页面数据较大或者广告元素较多的情况下,从该分组中直接找出广告元素,避免每次循环隐藏时,都要遍历一遍页面数据,可以节省屏蔽广告方法的运算开销。
当然,当页面数据较少时,可以通过不断循环遍历待加载页面的页面数据的方式屏蔽广告元素,即对于HTML网页而言,当判断出元素的z-index大于设定阈值时,即对该元素进行隐藏。该方式也可以通过下述代码实现:
Figure BDA0001682812820000101
上述代码中,z-index的设定阈值maxZindex为5000,forEach为循环语句,当当前元素的z-index大于该设定阈值时(即if(zindex>maxZindex)),即设置该元素的显示属性为隐藏(即item.style.display='none')。
上述屏蔽广告的方法在实际应用时,由于上述堆叠顺序标识的标识范围设置不合理,可能会漏掉广告元素,导致广告屏蔽不彻底,也可能会屏蔽掉页面上的正常内容,使页面的正常显示受到影响,导致页面功能受损。基于此,本实施例提供了另一种屏蔽广告的方法,该方法主要缓解上述广告屏蔽不彻底的问题,如图4所示,该方法包括如下步骤:
步骤S402,获取待加载页面。
步骤S404,根据待加载页面中各元素的堆叠顺序,确定该待加载页面中的广告元素。
该步骤S404可以采用上述图2或图3所示的方式实现,即遍历页面数据中的元素,逐一根据每个元素的堆叠顺序标识,确定该元素是否为广告元素。
步骤S405,从该待加载页面的页面数据中,获取确定的广告元素之外的各元素的第一元素属性;
步骤S406,设置第i个元素,i=1,开始遍历获取到的各元素的第一元素属性。
步骤S408,判断当前元素的第一元素属性的属性值中是否包含有第一指定内容;如果是,执行步骤S410,如果否,执行步骤S412。
其中,该第一元素属性包括DOM(Document Object Model,文档对象模型)节点的关键字、DOM节点的ID标识、父节点的关键字、父节点的ID标识中的至少一种;上述第一指定内容包括“ad-*”。该父节点通常为某一DOM节点的父节点;上述第一元素属性通常包括属性名和属性值,该属性名可以为class、id等,属性值为属性名具体定义的内容。
以HTML网页为例,上述关键字可以为class定义的内容,该class为C++语言中定义类的关键字;上述ID标识可以为id定义的内容,通常,每个类的对象设置唯一的id。该第一指定内容可以为常用的定义广告内容的特定的标识(如“ad”)或特定的标识加通配符(如“ad-*”)。HTML属性的一般语法如下:<标签名属性名1="属性值"属性名2="属性值"...属性名N="属性值">内容</标签名>。
在HTML网页中,页面数据中的每个元素、事物都定义为DOM节点,基于此,上述步骤S408,还可以通过下述方式实现:
(1)判断页面数据中各DOM节点的元素属性或DOM节点的父节点的元素属性是否包含“ad-*”;在实际实现时,可以通过parent()或parents()语句寻找当前DOM节点的父节点。
(2)如果是,确定该DOM节点为广告元素。
步骤S410,将该第一元素属性对应的元素确定为广告元素。
步骤S412,判断是否遍历至最后一个元素的第一元素属性;如果是,执行步骤S414;如果否,i=i+1,执行步骤S408。
步骤S414,屏蔽上述广告元素,显示屏蔽处理后的待加载页面。
上述方式中,在根据待加载页面中各元素的堆叠顺序,确定广告元素的基础上,进而根据元素属性再次查找页面数据中的广告元素,可以避免采用单一的堆叠顺序确定广告元素造成的广告屏蔽不彻底的问题,提高了广告屏蔽的可靠性和有效性。
相应地,本实施例还提供了另一种屏蔽广告的方法,该方法主要缓解上述屏蔽掉页面上的正常内容的问题,如图5所示,该方法包括如下步骤:
步骤S502,获取待加载页面的页面数据。
步骤S504,设置第i个元素,i=1,开始遍历页面数据中的元素。
步骤S506,获取当前元素的堆叠顺序标识。
步骤S508,判断当前元素的堆叠顺序标识是否满足预设的标识范围;如果是,执行步骤S510,如果否,执行步骤S512。
步骤S510,将堆叠顺序标识对应的元素确定为广告元素。
步骤S512,判断是否遍历至最后一个元素;如果是,执行步骤S514;如果否,i=i+1,执行步骤S506。
步骤S514,将上述广告元素添加至预设的分组中。
步骤S515,从待加载页面的页面数据中,获取该分组中的广告元素的第二元素属性;
该第二元素属性通常也包括DOM(Document Object Model,文档对象模型)节点的关键字、DOM节点的ID标识、父节点的关键字、父节点的ID标识中的至少一种;但在实际实现时,该第二元素属性和上述第一元素属性的具体内容可以相同,也可以不同。
步骤S516,设置第j个元素,j=1,开始遍历分组中的广告元素的第二元素属性。
步骤S518,判断分组中当前广告元素的第二元素属性的属性值中是否包含有第二指定内容;如果是,执行步骤S520,如果否,执行步骤S522。
步骤S520,确定广告元素为非广告元素,从分组中剔除该广告元素。
上述第二指定内容一般为用于定义页面中其他内容的标识,标识的用途较为固定,且通常不用于定义广告,例如,定义图片、音频、视频的标识。如果该广告元素的第二元素属性或其父元素的第二元素属性包含这些标识,则可以认为这些广告元素并不是真正的广告元素,提要从分组中剔除。
步骤S522,判断是否遍历至最后一个广告元素的第二元素属性;如果是,执行步骤S524;如果否,j=j+1,执行步骤S518。
步骤S524,隐藏分组中的广告元素。
步骤S526,显示处理后的待加载页面。
上述方式中,在根据待加载页面中各元素的堆叠顺序,确定广告元素的基础上,进而根据元素属性再次查找确定出的广告元素,并剔除被误判为广告元素的元素,避免采用堆叠顺序将页面上的正常内容也屏蔽掉的问题,提高了广告屏蔽的可靠性和有效性。
在上述实施例的基础上,本实施例还提供了另一种屏蔽广告的方法,该方法通过多种方式综合确定出广告元素,以进一步提高广告屏蔽的屏蔽效果,如图6所示,该方法包括如下步骤:
步骤S602,监听浏览器和/或应用程序的页面加载指令;当获取到该页面加载指令时,获取页面加载指令对应的待加载页面的页面数据;
通常,如果终端中同时安装了浏览器和应用程序,终端设备会同时监听浏览器和应用程序的页面加载指令;另外,用户还可以指定仅监听浏览器或应用程序之一。终端获取到页面加载指令后,进而执行后续的确定广告元素并屏蔽广告元素的步骤;具体可对该待加载页面的页面数据进行处理,从而识别并屏蔽广告元素。
步骤S604,设置第i个元素,i=1,开始遍历页面数据中的元素。
步骤S606,获取当前元素的堆叠顺序标识。
步骤S608,判断当前元素的堆叠顺序标识是否满足预设的标识范围;如果是,执行步骤S610,如果否,执行步骤S612。
步骤S610,将堆叠顺序标识对应的元素确定为广告元素。
步骤S612,判断是否遍历至最后一个元素;如果是,执行步骤S613;如果否,i=i+1,执行步骤S606。
步骤S613,从该待加载页面的页面数据中,获取确定的广告元素之外的各元素的第一元素属性;
步骤S614,设置第j个元素,j=1,开始遍历获取到的各元素的第一元素属性。
步骤S616,判断当前元素的第一元素属性的属性值中是否包含有第一指定内容;如果是,执行步骤S618,如果否,执行步骤S620。
步骤S618,将该第一元素属性对应的元素确定为广告元素。
步骤S620,判断是否遍历至最后一个元素的第一元素属性;如果是,执行步骤S622;如果否,j=j+1,执行步骤S616。
步骤S622,将上述广告元素添加至预设的分组中。
步骤S623,从待加载页面的页面数据中,获取该分组中的广告元素的第二元素属性;
步骤S624,设置第k个元素,k=1,开始遍历分组中的广告元素的第二元素属性。
步骤S626,判断分组中当前广告元素的第二元素属性的属性值中是否包含有第二指定内容;如果是,执行步骤S628,如果否,执行步骤S630。
步骤S628,确定广告元素为非广告元素,从分组中剔除广告元素。
步骤S630,判断是否遍历至最后一个广告元素的第二元素属性;如果是,执行步骤S632;如果否,k=k+1,执行步骤S626。
步骤S632,采用循环的方式,遍历分组中的广告元素;
步骤S634,逐一将广告元素的显示属性设置为隐藏。
步骤S636,显示处理后的待加载页面。
上述屏蔽广告的方法,该方法通过元素的堆叠顺序和元素属性确定出广告元素,并通过元素属性剔除误判为广告元素的元素,广告屏蔽精准,效果更加稳定、可靠,用户体验度较高。
需要说明的是,上述各方法实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对应于上述方法实施例,本发明实施例提供了一种屏蔽广告的装置,该装置设置于终端设备,如图7所示,该装置包括:
确定模块71,用于根据待加载页面中各元素的堆叠顺序,确定该待加载页面中的广告元素;
屏蔽模块72,用于屏蔽该广告元素。
上述确定模块,具体包括:
第一属性获取模块,用于从待加载页面的页面数据中,获取待加载页面中各元素的堆叠顺序标识;堆叠顺序标识用于表示各元素的堆叠顺序;
第一元素确定模块,用于判断堆叠顺序标识是否满足预设的标识范围;如果是,将堆叠顺序标识对应的元素确定为广告元素。
上述屏蔽模块,还用于:将广告元素添加至预设的分组中;隐藏分组中的广告元素。
上述屏蔽模块,还用于:采用循环的方式,遍历分组中的广告元素;逐一将广告元素的显示属性设置为隐藏。
本发明实施例还提供了另一种屏蔽广告的装置,该装置设置于终端设备,如图8所示,在上述装置基础上,该装置还包括:
第二属性获取模块80,用于从待加载页面的页面数据中,获取确定的广告元素之外的各元素的第一元素属性;
第一判断模块81,用于判断第一元素属性的属性值中是否包含有第一指定内容;
第二元素确定模块82,用于如果第一元素属性的属性值中包含有第一指定内容,将第一元素属性对应的元素确定为广告元素。
上述第一元素属性包括DOM节点的关键字、DOM节点的ID标识、父节点的关键字、父节点的ID标识中的至少一种;上述第一指定内容包括“ad-*”。
本发明实施例还提供了另一种屏蔽广告的装置,该装置设置于终端设备,如图9所示,在上述装置基础上,该装置还包括:
第三属性获取模块90,用于从待加载页面的页面数据中,获取分组中的广告元素的第二元素属性;
第二判断模块91,用于判断第二元素属性的属性值中是否包含有第二指定内容;
元素剔除模块92,用于如果第二元素属性的属性值中包含有第二指定内容,确定广告元素为非广告元素,从分组中剔除广告元素。
本发明实施例所提供的屏蔽广告的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供了一种终端设备,该终端设备包括存储器以及处理器,存储器用于存储支持处理器执行前述实施例所提供的屏蔽广告的方法的程序,处理器被配置为用于执行存储器中存储的程序。该终端设备还可以包括通信接口,用于与其他设备或通信网络通信。该终端设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、车载电脑等任意终端设备。
进一步,本实施例还提供了一种计算机存储介质,用于储存为前述实施例所提供的任一项屏蔽广告的装置所用的计算机软件指令。
如图10所示的一种终端设备的结构示意图,该终端设备100包括:射频(RadioFrequency,RF)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(Wireless Fidelity,WiFi)模块170、处理器180、以及电源190等部件。本领域技术人员可以理解,图10中示出的终端设备100结构并不构成对终端设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对终端设备100的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器120可用于存储软件程序以及模块,如本发明实施例中屏蔽广告的方法对应的程序指令/模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行终端设备100的各种功能应用以及数据处理,如本发明实施例提供的屏蔽广告的方法。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元130可用于接收输入的数字或字符信息,以及产生与终端设备100的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备100的各种菜单。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型做处理。虽然在图10中,触控面板131与显示面板141是作为两个独立的部件来实现终端设备100的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现终端设备100的输入和输出功能。
终端设备100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备100移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备100姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端设备100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端设备100,或者将音频数据输出至存储器120以便进一步处理。
WiFi属于短距离无线传输技术,终端设备100通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块170,但是可以理解的是,其并不属于终端设备100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端设备100的控制中心,利用各种接口和线路连接整个终端设备100的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备100的各种功能和处理数据,从而对终端设备100进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端设备100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理***与处理器180逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
可以理解,图10所示的结构仅为示意,终端设备100还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。图10中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例所提供的屏蔽广告的方法、装置和终端设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种屏蔽广告的方法,其特征在于,所述方法应用于终端设备,所述方法包括:
从待加载页面的页面数据中,获取所述待加载页面中各元素的堆叠顺序标识,所述堆叠顺序标识用于表示各元素的堆叠顺序;
判断所述堆叠顺序标识是否满足预设的标识范围;
如果是,将所述堆叠顺序标识对应的元素确定为广告元素;
屏蔽所述广告元素;
所述屏蔽所述广告元素的步骤,包括:将所述广告元素添加至预设的分组中;隐藏所述分组中的广告元素;
所述方法还包括:从所述待加载页面的页面数据中,获取所述分组中的广告元素的第二元素属性;
判断所述第二元素属性的属性值中是否包含有第二指定内容;其中,所述第二指定内容包括定义图片、音频或者视频的标识;
如果是,确定所述广告元素为非广告元素,从所述分组中剔除所述广告元素。
2.根据权利要求1所述的方法,其特征在于,所述隐藏所述分组中的广告元素的步骤,包括:
采用循环的方式,遍历所述分组中的广告元素,逐一将所述广告元素的显示属性设置为隐藏。
3.根据权利要求1所述的方法,其特征在于,在所述将所述堆叠顺序标识对应的元素确定为广告元素的步骤之后,所述方法还包括:
从所述待加载页面的页面数据中,获取确定的所述广告元素之外的各元素的第一元素属性;
判断所述第一元素属性的属性值中是否包含有第一指定内容;
如果是,将所述第一元素属性对应的元素确定为广告元素。
4.根据权利要求3所述的方法,其特征在于,
所述第一元素属性包括DOM节点的关键字、DOM节点的ID标识、父节点的关键字、父节点的ID标识中的至少一种;
所述第一指定内容包括“ad-*”。
5.一种屏蔽广告的装置,其特征在于,所述装置设置于终端设备,所述装置包括:
第一属性获取模块,用于从待加载页面的页面数据中,获取所述待加载页面中各元素的堆叠顺序标识;所述堆叠顺序标识用于表示各元素的堆叠顺序;
第一元素确定模块,用于判断所述堆叠顺序标识是否满足预设的标识范围,如果是,将所述堆叠顺序标识对应的元素确定为广告元素;
屏蔽模块,用于屏蔽所述广告元素;
所述屏蔽模块,还用于:将所述广告元素添加至预设的分组中;隐藏所述分组中的广告元素;
所述装置还包括:第三属性获取模块,用于从所述待加载页面的页面数据中,获取所述分组中的广告元素的第二元素属性;第二判断模块,用于判断所述第二元素属性的属性值中是否包含有第二指定内容;其中,所述第二指定内容包括定义图片、音频或者视频的标识;元素剔除模块,用于如果所述第二元素属性的属性值中包含有第二指定内容,确定所述广告元素为非广告元素,从所述分组中剔除所述广告元素。
6.根据权利要求5所述的装置,其特征在于,所述屏蔽模块,还用于:
采用循环的方式,遍历所述分组中的广告元素;
逐一将所述广告元素的显示属性设置为隐藏。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二属性获取模块,用于从所述待加载页面的页面数据中,获取确定的所述广告元素之外的各元素的第一元素属性;
第一判断模块,用于判断所述第一元素属性的属性值中是否包含有第一指定内容;
第二元素确定模块,用于如果所述第一元素属性的属性值中包含有第一指定内容,将所述第一元素属性对应的元素确定为广告元素。
8.根据权利要求7所述的装置,其特征在于,
所述第一元素属性包括DOM节点的关键字、DOM节点的ID标识、父节点的关键字、父节点的ID标识中的至少一种;
所述第一指定内容包括“ad-*”。
9.一种终端设备,其特征在于,所述终端设备包括存储器以及处理器,所述存储器用于存储支持处理器执行权利要求1至4任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
10.一种计算机存储介质,其特征在于,用于储存执行权利要求1至4任一项所述方法的计算机软件指令。
CN201810561444.0A 2018-06-01 2018-06-01 屏蔽广告的方法、装置和终端设备 Active CN108846061B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810561444.0A CN108846061B (zh) 2018-06-01 2018-06-01 屏蔽广告的方法、装置和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810561444.0A CN108846061B (zh) 2018-06-01 2018-06-01 屏蔽广告的方法、装置和终端设备

Publications (2)

Publication Number Publication Date
CN108846061A CN108846061A (zh) 2018-11-20
CN108846061B true CN108846061B (zh) 2022-04-29

Family

ID=64210697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810561444.0A Active CN108846061B (zh) 2018-06-01 2018-06-01 屏蔽广告的方法、装置和终端设备

Country Status (1)

Country Link
CN (1) CN108846061B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734501A (zh) * 2021-02-05 2021-04-30 上海云鱼智能科技有限公司 一种发布信息判定为广告的方法、装置、服务器、客户端、终端及其存储介质
CN112907304A (zh) * 2021-04-09 2021-06-04 厦门理工学院 一种网页劫持广告的屏蔽方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239422A (zh) * 2014-08-21 2014-12-24 小米科技有限责任公司 广告识别方法及装置、电子设备
CN108062324A (zh) * 2016-11-08 2018-05-22 广州市动景计算机科技有限公司 广告过滤方法、装置及用户终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677654B (zh) * 2014-11-18 2020-07-03 阿里巴巴(中国)有限公司 广告过滤方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239422A (zh) * 2014-08-21 2014-12-24 小米科技有限责任公司 广告识别方法及装置、电子设备
CN108062324A (zh) * 2016-11-08 2018-05-22 广州市动景计算机科技有限公司 广告过滤方法、装置及用户终端

Also Published As

Publication number Publication date
CN108846061A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
US20170091335A1 (en) Search method, server and client
US20160241589A1 (en) Method and apparatus for identifying malicious website
CN107145780B (zh) 恶意软件检测方法及装置
US10956653B2 (en) Method and apparatus for displaying page and a computer storage medium
CN108241703B (zh) 网页数据传输方法和装置
CN107766548B (zh) 信息显示方法、装置、移动终端及可读存储介质
CN106951492B (zh) 文件搜索方法、装置和电子设备
CN110633438B (zh) 一种新闻事件处理的方法、终端、服务器及存储介质
CN103607377B (zh) 信息分享方法、装置及***
CN111078986A (zh) 数据检索方法、装置及计算机可读存储介质
WO2015027909A1 (en) Method and apparatus for obtaining hot-topic information
CN110688347A (zh) 文件存储方法、文件存储装置及终端设备
CN103246847B (zh) 一种宏病毒查杀的方法和装置
CN108846061B (zh) 屏蔽广告的方法、装置和终端设备
WO2015003607A1 (en) Systems and methods for filtering microblogs
CN106202422B (zh) 网页图标的处理方法和装置
CN103823851A (zh) 网页显示方法和装置
CN104391588B (zh) 一种输入提示的方法及装置
CN108304369B (zh) 一种文件类型的识别方法和装置
CN109450853B (zh) 恶意网站判定方法、装置、终端及服务器
CN105095161A (zh) 一种显示富文本信息的方法及装置
CN106339402B (zh) 一种推荐内容推送的方法、装置及***
CN111966373A (zh) Apn的重置方法、终端设备及存储介质
CN104954231B (zh) 一种发送、显示推荐信息的方法及装置
CN110799958A (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