CN113656737A - 网页内容展示方法、装置、电子设备以及存储介质 - Google Patents
网页内容展示方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN113656737A CN113656737A CN202110964751.5A CN202110964751A CN113656737A CN 113656737 A CN113656737 A CN 113656737A CN 202110964751 A CN202110964751 A CN 202110964751A CN 113656737 A CN113656737 A CN 113656737A
- Authority
- CN
- China
- Prior art keywords
- content
- website
- webpage
- chapter
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000009877 rendering Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013515 script Methods 0.000 description 50
- 230000009193 crawling Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/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
- 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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
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 Transfer Between Computers (AREA)
Abstract
本公开提供了网页内容展示方法、装置、电子设备以及存储介质,涉及计算机技术领域,尤其涉及信息流领域。具体实现方案为:响应于针对第一链接对象的第一访问操作,确定与第一链接对象相对应的第一网页内容;利用劫持例程调用与第一链接对象所属的第一网站相对应的网站节点查询规则,其中,网站节点查询规则包括根据第一网站中预定网页元素的文档对象模型确定的规则;根据网站节点查询规则,从第一网页内容中确定与预定网页元素相对应的第二网页内容;以及基于第二网站对第二网页内容进行展示。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及信息流领域。
背景技术
随着社会的信息化和信息大量涌现,以及人们对信息要求的激增,信息流形成了错综复杂、瞬息万变的形态。在社会经济生活中,随着互联网技术的广泛发展,信息流的作用越来越重要,例如体现在浏览器中网页内容的展示等方面。
发明内容
本公开提供了一种网页内容展示方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种网页内容展示方法,包括:响应于针对第一链接对象的第一访问操作,确定与所述第一链接对象相对应的第一网页内容;调用与所述第一链接对象所属的第一网站相对应的网站节点查询规则,其中,所述网站节点查询规则包括根据所述第一网站中预定网页元素的文档对象模型确定的规则;根据所述网站节点查询规则,从所述第一网页内容中确定与所述预定网页元素相对应的第二网页内容;以及基于第二网站对所述第二网页内容进行展示。
根据本公开的另一方面,提供了一种网页内容展示装置,包括:第一确定模块,用于响应于针对第一链接对象的第一访问操作,确定与所述第一链接对象相对应的第一网页内容;调用模块,用于调用与所述第一链接对象所属的第一网站相对应的网站节点查询规则,其中,所述网站节点查询规则包括根据所述第一网站中预定网页元素的文档对象模型确定的规则;第二确定模块,用于根据所述网站节点查询规则,从所述第一网页内容中确定与所述预定网页元素相对应的第二网页内容;以及第一展示模块,用于基于第二网站对所述第二网页内容进行展示。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的网页内容展示方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上所述的网页内容展示方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的网页内容展示方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开实施例的可以应用网页内容展示方法及装置的示例性系统架构;
图2示意性示出了根据本公开实施例的网页内容展示方法的流程图;
图3示意性示出了根据本公开一个实施例的实现网页内容展示的示意图;
图4示意性示出了根据本公开另一个实施例的实现网页内容展示的示意图;
图5示意性示出了根据本公开实施例的阅读器展示网页内容以及爬取数据源的流程图;
图6A示意性示出了根据本公开一个实施例的基于虚拟目录加载章节内容的示意图;
图6B示意性示出了根据本公开另一个实施例的基于虚拟目录加载章节内容的示意图;
图7示意性示出了根据本公开实施例的实现网页内容展示方法的系统架构图;
图8示意性示出了根据本公开实施例的网页内容展示装置的框图;以及
图9示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在搜索引擎搜索三方站点时,搜索结果页的自然结果,在浏览过程中经常会弹出浮层广告,广告内容以色情擦边为主,影响用户正常浏览体验。且不同站点中网页功能通常不同,导致用户浏览体验差别大。
针对浮层广告这一问题,在获取三方站点的网页内容时通常采用如下手段:交在要访问的网页中的所有HTML(超文本标记语言)文档,通过解析HTML文档的标签,来获取到该网页的内容部分。利用正则表达式删除残留的HTML标签,只保留内容部分。采用txt(textfile,文本文件)阅读器打开提取出来的内容。
发明人在实现本公开构思的过程中发现,利用正则表达式确定网页内容的方法,会有一些额外的无用数据无法过滤掉,网页内容显示效果不好。
图1示意性示出了根据本公开实施例的可以应用网页内容展示方法及装置的示例性系统架构。
需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。例如,在另一实施例中,可以应用内容处理方法及装置的示例性系统架构可以包括终端设备,但终端设备可以无需与服务器进行交互,即可实现本公开实施例提供的网页内容展示方法及装置。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的内容提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(″Virtual PrivateServer″,或简称″VPS″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
需要说明的是,本公开实施例所提供的网页内容展示方法一般可以由终端设备101、102、或103执行。相应地,本公开实施例所提供的网页内容展示装置也可以设置于终端设备101、102、或103中。
或者,本公开实施例所提供的网页内容展示方法一般也可以由服务器105执行。相应地,本公开实施例所提供的网页内容展示装置一般可以设置于服务器105中。本公开实施例所提供的网页内容展示方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的网页内容展示装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
例如,在浏览器中搜索内容时,终端设备101、102、103可以响应于针对第一链接对象的第一访问操作,确定与第一链接对象相对应的第一网页内容,利用劫持例程调用与第一链接对象所属的第一网站相对应的网站节点查询规则,其中,网站节点查询规则包括根据第一网站中预定网页元素的文档对象模型确定的规则,根据网站节点查询规则,从第一网页内容中确定与预定网页元素相对应的第二网页内容,并基于第二网站对第二网页内容进行展示。或者由能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群对在第一网站中访问的网页内容进行分析,并实现基于第二网站对选择的网页内容进行展示。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的网页内容展示方法的流程图。
如图2所示,该方法包括操作S210~S240。
在操作S210,响应于针对第一链接对象的第一访问操作,确定与第一链接对象相对应的第一网页内容。
在操作S220,调用与第一链接对象所属的第一网站相对应的网站节点查询规则,其中,网站节点查询规则包括根据第一网站中预定网页元素的文档对象模型确定的规则。
在操作S230,根据网站节点查询规则,从第一网页内容中确定与预定网页元素相对应的第二网页内容。
在操作S240,基于第二网站对第二网页内容进行展示。
根据本公开的实施例,网页的基本构成元素可以包括文本、图像、超链接等其中至少之一,网页中的文本、图像、超链接等所表征的数据可以由该网页所属的网站来提供,也可以由与该网站具有关联关系的其他网站来提供。
根据本公开的实施例,第一链接对象可以为第一网站中的超链接。第一访问操作可以包括针对该超链接的点击操作。第一网页内容可以表示点击该超链接后将要跳转到的下一网页的网页内容,该第一网页内容可以为由第一网站和与第一网站相关联的其他网站其中至少之一所提供的数据构成的内容。第一网站可以包括各类搜索网站,如文章类搜索网站、问题答疑类搜索网站等。
根据本公开的实施例,网站节点查询规则可以通过具有分析网站的设计规则功能的脚本对第一网站的文档对象模型进行批量分析确定。预定网页元素可以包括具有实质意义的网页元素,如可以包括文本元素、与文本内容相关的图像元素、及部分超链接元素等其中至少之一,具体地,例如可以包括表征文章的目录、标题、内容等的关键元素。而对于表征广告等的元素及通过其他不可预测的方式引入的网页元素等其中至少之一,可形成不具有实质意义的网页元素。网站节点查询规则可以仅根据具有实质意义的网页元素来确定,以获取网页中具有实质意义的内容,同时滤除其他无实质意义的内容。网站节点查询规则例如可以表现为如下的形式:
“host”:“m.23txt.com”,
“bookname”:“#bqgmb_h 1”,
“category”:“p:nth-child(5)>a”,
“author”:“p:nth-child(4)”,
“logo”:“.block_img2 img”,
“title”:“#nr_title”,
“content”:“#nr1”,
“prev”:“#pt_prev”,
“next”:“#pt_next”
“online”:“1”,
“publish_time”:“1579506969”
例如,根据“host”:“m.23txt.com”可以确定要爬取的站点,该站点可以表示网站站点或网页站点。根据“title”:“#nr_title”可以爬取文章标题。根据“content”:“#nr1”可以爬取文章内容,根据“prev”:“#pt_prev”可以爬取表征“前一章”的超链接元素。根据“next”:“#pt_next”可以爬取表征“下一章”的超链接元素等。
根据本公开的实施例,通过批量分析确定的各网站的网站节点查询规则可以首先存储于Server(服务器)中。Server可以提供网站节点查询规则下发接口。通过基于网站节点查询规则下发接口调用根据预定网页元素的文档对象模型确定的网站节点查询规则,对第一网页内容进行分析查询,可以确定第一网页内容中具有实质意义的内容,并可据此确定第二网页内容。进而通过对第二网页内容进行展示,可以确定响应于针对第一链接对象的第一访问操作的展示结果。
根据本公开的实施例,第二网站可以用于提供区别于第一网站的网页展示环境,第二网站也可以用于表征NA端(Native App,一种基于如iOS、Android、WP的智能手机本地操作系统,并使用原生程序编写运行的第三方应用程序,也叫本地客户端)。由于需要由第二网页内容代替第一网页内容进行展示,为区分两者的业务流程,可以通过引入第二网站的方式,通过第二网站提供相应的网页渲染模式,对第二网页内容进行展示。
图3示意性示出了根据本公开一个实施例的实现网页内容展示的示意图。
根据本公开的实施例,第一链接对象可以包括基于第一网站查询得到的搜索结果页面中的搜索链接,如用于表征文章章节的章节链接。
如图3所示,在搜索浏览器310的搜索框311中输入文章名“XXX”,可以得到包括该文章详情的搜索结果页面320,搜索结果页面320可以包括321和322两种形式,搜索结果页面322可以通过点击搜索结果页面321中的搜索链接323得到。通过点击搜索结果页面321中的章节链接324或点击搜索结果页面322中的章节链接325,可进一步访问得到与该章节相对应的章节内容。由于文章网站通常由三方站点提供,依据三方站点直接获取到的章节内容页面可能还会包括大量广告或垃圾链接,如章节内容页面330,其中包括广告元素331、332等,不利于章节内容的展示。通过调用网页节点查询规则,从章节内容页面330获取到有实质意义的内容,进一步结合第二网站提供的网站环境,可以对有实质意义的内容进行高效展示,如章节内容页面340。
通过本公开的上述实施例,根据网站节点查询规则从第一网页内容中查询具有实施意义的第二网页内容并进行展示,可有效解决正则表达式无法过滤掉部分无用数据的技术问题,达到高效滤除第一网页内容中不重要的网页元素的技术效果,结合第二网站对第二网页内容进行展示,可进一步提高筛选出的网页元素的展示效果。
下面结合具体实施例,对图2所示的方法做进一步说明。
根据本公开的实施例,网页内容展示方法还包括:获取网站白名单列表。根据网站白名单列表确定目标网站。
根据本公开的实施例,由于各个网站点自身所具有的权限,并不是所有的网站都支持网站节点的规则爬取。为了直观、便捷的确定支持规则爬取的网站,即确定可使用上述网页内容展示方法的网站,可以首先确定支持规则爬取的网站,并根据其网址确定网站白名单列表。网站白名单列表在确定后,可预先存储至Server中。Server可以提供劫持网站白名单列表接口,以及全局开关。通过基于劫持网站白名单列表接口调用网站白名单列表,可实现在浏览器加载能够使用上述网页内容展示方法的网站的时候,进行网站劫持,进而实现通过另一网站对筛选的网页内容进行展示。
通过本公开的上述实施例,引入网站白名单列表,可以迅速判断要加载的网站是否可被劫持,从而在要加载的网站可执行网页内容展示方法的情况下,提高方法执行效率。
根据本公开的实施例,基于第二网站对第二网页内容进行展示包括:调用页面生成组件。其中,页面生成组件为与第二网站相关的组件。通过页面生成组件,将第二网页内容渲染为第一目标网页。基于第二网站对第一目标网页进行展示。
根据本公开的实施例,页面生成组件可以包括能够将网页内容渲染为网页页面的组件或脚本例程,以及已设计好的具有预设渲染模式的阅读器组件等其中至少之一。将第二网页内容渲染为第一目标网页的方式可以表现为:通过页面生成组件或脚本例程,对第二网页内容进行网页渲染,得到第一目标网页。还可以表现为:基于阅读器组件,对第二网页内容进行阅读器模式的渲染,得到第一目标网页。从而,可以基于第二网站提供的环境,对仅包括第二网页内容的第一目标网页进行展示。
通过本公开的上述实施例,引入页面生成组件,将第二网页内容渲染为第一目标网页进行展示,可进一步有效提高页面展示效果。
根据本公开的实施例,上述调用网站节点查询规则和调用页面生成组件的过程例如均可以通过一预先定义的劫持脚本实现。对于劫持脚本注入浏览器的过程,可以首先获取到要注入到浏览器中的劫持脚本的package(包)的存储地址。然后,通过首次点击浏览器中某一搜索结果的链接时,请求Server提供的劫持网站白名单列表接口,可以通过缓存获取到网站白名单列表。在首次安装,首次打开白名单站点,并需要注入劫持脚本的情况下,可以根据package的存储地址,下载劫持脚本并缓存至本地。搜索浏览器在获取到网站白名单列表和劫持脚本之后,对于命中白名单的网站,在需要加载第一网页内容的情况下,可以在document(文档)的interactive(加载外部资源阶段)阶段,即在请求站点的HTML和js脚本都加载完,dom(文档对象模型)树准备好的时候,注入劫持脚本。
需要说明的是,劫持脚本也可以是一种js脚本。
根据本公开的实施例,在注入劫持脚本之后,可以利用该劫持脚本首先请求网站节点查询规则下发接口,获取网站节点查询规则。然后,基于与第一网页内容相对应的dom节点,找到对应的元素,解析出其中的内容,得到第二网页内容。在获取到第二网页内容之后,可以利用该劫持脚本向第二网站发起请求,请求调用页面生成组件。页面生成组件例如为于肚脐组件,则在劫持成功之后,即在调用到页面生成组件的情况下,基于阅读器组件,将第二网页内容在阅读器中的展示。
通过本公开的上述实施例,引入劫持例程,实现网站节点查询规则和页面生成组件的自动化调用,可有效解决正则表达式无法无法过滤掉部分无用数据的技术问题,达到高效滤除第一网页内容中不重要的网页元素的技术效果,结合第二网站,将第二网页内容渲染为第一目标网页进行展示,可进一步提高筛选出的网页元素的页面展示效果。
根据本公开的实施例,第二网页内容包括第二链接对象。网页内容展示方法还包括:响应于针对第二链接对象的第二访问操作,确定与第二链接对象相对应的第三网页内容。其中,第三网页内容包括存储于第一网站中的内容。根据网站节点查询规则,从第三网页内容中确定与预定网页元素相对应的第四网页内容。基于第二网站对第四网页内容进行展示。
根据本公开的实施例,由于第二链接对象为第二网页内容中的对象,而第二网页内容为基于第二网站展示的内容,因此,第二链接对象属于第二网站中的链接对象。
根据本公开的实施例,第二链接对象可以为第二网站中的超链接。第二访问操作可以包括针对该超链接的点击操作。第三网页内容可以表示点击该超链接后将要跳转到的下一网页的网页内容,该第三网页内容可以为由第一网站和与第一网站相关联的其他网站其中至少之一所提供的数据构成的内容。第一网站可以包括各类搜索网站,如文章类搜索网站、问题答疑类搜索网站等。
根据本公开的实施例,由于针对第二网站中的第二链接对象的第二访问操作,所请求访问的第三网页内容仍直接属于第一网站中的网页内容,因此可以基于前述得到的针对第一网页内容进行分析查询时采用的网站节点查询规则,对第三网页内容进行分析查询,确定第三网页内容中具有实质意义的内容,并据此确定第四网页内容。进而通过对第四网页内容进行展示,可以确定响应于针对第二链接对象的第二访问操作的展示结果。
图4示意性示出了根据本公开另一个实施例的实现网页内容展示的示意图。
根据本公开的实施例,第二链接对象可以包括基于第二网站展示的章节内容页面中的指示链接,如用于查询相对于该章节内容的“下一章”、“上一章”的指示链接,以及用于查询语该章节内容相关的文章的“目录”的指示链接等其中至少之一。
如图4所示,某文章的章节内容页面410中包括指示链接411、412、413,分别用于查询“上一章”、“目录”、“下一章”的内容。通过点击用于查询“下一章”的章节内容的指示链接413,可以首先从第一网站中查询到用于表征该“下一章”的章节内容的网页420所包括的第三网页内容。然后,结合网站节点查询规则,可进一步从第三网页内容中获取具有实质意义的第四网页内容,并基于第二网站通过的环境进行展示,得到该“下一章”的章节内容的展示结果430。如图4中,展示结果430中消除了网页420所包含的广告元素421,具有更清楚的页面展示效果。
通过本公开的上述实施例,实现了对第二网站中的第二链接对象进行访问操作时,对应的访问结果的获取及展示方法,可有效解决正则表达式无法过滤掉部分无用数据的技术问题,达到高效滤除第三网页内容中不重要的网页元素的技术效果,结合第二网站对第四网页内容进行展示,可进一步提高筛选出的网页元素的展示效果。
根据本公开的实施例,响应于针对所述第二链接对象的第二访问操作,确定与所述第二链接对象相对应的第三网页内容包括:确定与第二链接对象相对应的链接地址。通过数据提供组件确定与链接地址相对应的第三网页内容。其中,数据提供组件为与第二网站相关的组件。
根据本公开的实施例,响应于针对第二网站中的第二链接对象的第二访问操作,获取第三网页内容时,需要数据来源。而server只下发网站节点查询规则,不下发想要访问的第三网页内容。此外,由于第二链接对象展示于第二网站的网页中,而针对第二链接对象执行访问操作时,要访问的第三网页内容存储于第一网站中,即该第三网页内容并不能从第二网站中直接得到,仍需要根据第二链接对象的链接地址从第一网站中获取并解析得到。基于此,至少需要伴随第二网站的引入构建一个数据提供组件,通过引入dom环境和js爬取脚本,来得到获取第三网页内容时的数据来源。
例如,可以在第二网站提供的阅读器组件启动时,创建一个1像素(不限于此)的隐藏浏览器,隐藏浏览器内部加载了js爬取脚本。在进行数据来源的获取时,作用于第二链接对象上的第二访问操作可以首先发送至该隐藏浏览器进行地址解析,然后隐藏浏览器可以根据解析得到的地址在其自身内部加载与该地址相对应的前端页面,即表征第三网页内容的页面。至此,可以实现由隐藏浏览器提供获取第三网页内容时的数据来源的目的。
需要说明的是,该数据提供组件可以伴随着阅读器组件的启动而创建,也可以伴随着第一目标网页的生成而创建。创建可以包括直接调用等方式。
通过本公开的上述实施例,引入数据提供组件,可以为第二网站中访问的第二链接对象提供数据源,提供网页内容展示方法实现的便捷性。
根据本公开的实施例,由于第二链接对象的数目可以包括多个,针对多个第二链接对象执行的访问操作可以包括多个,为确定每一个访问所访问的第三网页内容,例如可以通过在每个第二访问操作中设置标识符来确定。从而可以通过首先确定与第二访问操作相对应的标识信息,然后将与标识信息相对应的网页内容作为第三网页内容的方式提升网页内容展示时的准确性。
通过本公开的上述实施例,在访问操作中设置标识符,可有效提升网页内容展示方法执行的准确性。
根据本公开的实施例,通过数据提供组件确定与链接地址相对应的第三网页内容包括:通过第二网站,从第一网站中加载与链接地址相对应的超文本标记语言内容。将超文本标记语言内容作为第三网页内容。
根据本公开的实施例,由于第二网站与第一网站属于不同域,第二网站中的数据提供组件与第一网站之间会存在跨域限制,因此,数据提供组件无法直接从第一网站中获取第三网页内容。在数据提供组件解析得到第二访问操作的链接地址的情况下,可以由第二网站从第一网站中获取到相应链接地址下的HTML内容,然后由第二网站将该HTML内容传至数据提供组件进行解析,即可由数据提供组件得到第三访问操作所请求访问的第三网页内容。
通过本公开的上述实施例,可有效解决第二网站中的数据提供组件和第一网站之间的跨域限制的问题,保障网页内容展示方法的顺利实施。
根据本公开的实施例,基于第二网站对第四网页内容进行展示可以包括:调用页面生成组件。其中,页面生成组件为与第二网站相关的组件。通过页面生成组件,将第三网页内容渲染为第二目标网页。基于第二网站对第二目标网页进行展示。
通过本公开的上述实施例,引入页面生成组件,将第四网页内容渲染为第二目标网页进行展示,可进一步有效提高页面展示效果。
根据本公开的实施例,第一网站例如为搜索浏览器,第二网站例如为NA端,第二网站中的网页内容展示例如由NA端的阅读器实现,数据提供组件例如为在打开阅读器的同时同步创建的隐藏浏览器。基于该实施例,图5示意性示出了根据本公开实施例的阅读器展示网页内容以及爬取数据源的流程图。
如图5所示,该方法包括操作S501~S511。
在操作S501,基于文章标题title、首章内容content、下一章链接nexturl、前一章链接preurl、回调函数callback,调用transRederOpen例程打开阅读器。
在操作S502,调用transReaderCallback例程返回回调函数。
在操作S503,请求目录,请求中可以包括{id:1,action:getMenu,data:url}。
在操作S504,调用transReaderFetch(url,callback)例程请求url内容。
在操作S505,返回url内容。
在操作S506,调用transReaderMessaged({id:1,data:list})例程返回目录。
在操作S507,请求内容,请求中可以包括{id:2,action:getContent,data:url}
在操作S508,调用transReaderFetch(url,callback)例程请求url内容。
在操作S509,返回url内容。
在操作S510,调用transReaderMessaged({id:2,data:content})例程返回内容。
在操作S511,调用callback(isExit)例程关闭阅读器回调函数。
根据本公开的实施例,对于操作S501。在搜索浏览器中搜索某文章,并得到包括该文章的章节链接的搜索结果页面的情况下,响应于对章节链接的访问操作,在加载下一页面的过程达到加载外部资源阶段时,在当前尚未完成加载完成的页面中注入劫持脚本。劫持脚本注入完成之后,可以利用劫持脚本调用NA端,并可通过调用transReaderOpen例程打开阅读器。在此过程中,可以携带包括文章标题title、首章内容content、下一章链接nexturl、前一章链接preurl、回调函数callback等基础信息,以便于NA端利用该些基础信息初始化阅读器。
根据本公开的实施例,对于操作S502。NA端上在阅读器启动时,可以同步创建隐藏浏览器。隐藏浏览器可以加载前端提供的H5页面,内置js爬取脚本。加载完成之后,爬取脚本可以回调NA端,并携带一个js爬取脚本的callback函数,之后,NA端都只和隐藏浏览器交互。NA端在收到来自隐藏浏览器的callback函数后,可以对该callback函数进行记录,之后可以通过该callback函数来和js爬取脚本进行如拉目录,拉下一章等交互。
根据本公开的实施例,对于操作S503~S506。NA端在异步的拉第一页目录的情况下,可以直接通过js爬取脚本的callback函数传递一个id,如:id:1,action:getMenu,data:url。Js爬取脚本返回的时候可以对该id进行一并返回,id可以以单调递增的方式设置。js爬取脚本在收到getMenu这个调用例程之后,可以根据传递的目录url,去爬取目录。然后,js爬取脚本可以调用transReaderMessaged例程返回id+data,如:id:1,data:list。此时即可完成一次数据请求和接收。
根据本公开的实施例,对于操作S504~S505。在js爬取脚本获取到NA传递的目录url之后,由于跨域限制,js爬取脚本无法直接从浏览器中加载内容,此时可以通过js爬取脚本调用transReaderFetch例程,让NA端去获取url的HTML数据,然后再对HTML数据进行解析。
根据本公开的实施例,对于操作S507~S510。NA端上预加载“上一章”和“下一章”等数据,可以通过js爬取脚本的callback函数传递id:2,action:getContent,data:url。js爬取脚本在收到对“下一章”的getContent的访问请求之后,可以先调用transReaderFetch例程,让NA端去下载该id为2的url的H5页面,并用utf-8编码。返回给js爬取脚本。Js爬取脚本基于NA端返回的H5页面内容,和Server给它的网站节点查询规则等信息,爬取基于实质意义的网站内容。然后调用transReaderMessaged例程返回给NA端,以基于NA端的于肚脐进行展示。
根据本公开的实施例,在阅读器关闭的情况下,可以同步清除隐藏浏览器。
通过本公开的上述实施例,提供了一种网页内容展示方法,可应用于所以有搜索场景中。通过自动识别盗版站点内容,提取有价值的信息并进行展示,建立文章畅读模式,并由客户端NA阅读器进行展示,可有效优化用户阅读体验。
根据本公开的实施例,第一访问操作包括对文章中目标章节内容的选择操作,第二网页内容包括目标章节内容。网页内容展示方法还包括:确定与目标章节内容相对应的章节在文章中所有章节中的第一排序编号。将目标章节内容存储至虚拟空间中的目标存储空间。其中,虚拟空间为预设的用于分章节存储文章中的各章节内容的存储空间,目标存储空间在虚拟空间中的第二排序编号与第一排序编号相同。
根据本公开的实施例,js爬取脚本在爬取目录时只能从第一页依次往后爬取到最后一页。比如,即使用户直接进入最后一章的内容,此时目录也只能从第一页开始抓取和显示。大部分站点无法一次获取全部目录。因此,在NA端上阅读的时候,只能基于js爬取脚本,通过getContent获取某一章的内容,并返回上一章的url,preUrl,和下一章的url,nexturl,然后再基于nexturl获取下一章内容。
根据本公开的实施例,由于collectionview(集合视图)的内部需要一个目录数组来实现cell的排列,竖屏阅读器的实现一般需要一个目录。因此,对于无目录的阅读,针对首次进入阅读器,以及跳至上一章、下一章、目录跳转等情况,可以重新构造一个大小可配置的虚拟目录。
图6A示意性示出了根据本公开一个实施例的基于虚拟目录加载章节内容的示意图。
图6B示意性示出了根据本公开另一个实施例的基于虚拟目录加载章节内容的示意图。
如图6A和6B所示,例如,配置了一个大小为1000的虚拟目录,即虚拟空间。跳转的当前要阅读的目标章节内容所对应的章节在目录的中间,如500,即第一排序编号为500,则可在虚拟目录中初始化第500个虚拟空间的章节内容,并排版,结果如图6A所示。之后,在上下滑的时候可以在虚拟目录中补充这1000个章节内容,如图6B所示,基于虚拟目录,加载了相对于图6A所示的当前章的下一章的章节内容。
需要说明的是,在基于虚拟目录阅读章节内容时,第一排序编号和第二排序编号可以不同,只要能够实现章节内容滑动加载即可。
根据本公开的实施例,在处理章节内容的处理最后一页和第一页的情况下,需要进行数据源边界判断,可以通过判断上一章、下一章的章节id是否为空来确定。
通过本公开的上述实施例,引入虚拟目录,能够实现章节内容的跳转阅读,提升了用户阅读体验。
根据本公开的实施例,第二网页内容包括文章的目录。网页内容展示方法还包括:确定文章的目录的目录样式。在目录样式为列表样式的情况下,通过获取目录例程加载与文章相对应的所有目录,或者通过获取目录例程加载与文章相对应的存储于同一个页面中的所有目录。在目录样式为分组样式的情况下,通过获取分组目录例程加载文章的所有分组目录,或者通过获取分组目录例程加载与预定章节内容所对应的目标目录相对应的目标分组目录。
根据本公开的实施例,站点的目录结构例如包括3种:站点目录一次性加载,站点能一次性爬取全部目录。站点无法一次获取全部目录,但站点提供了目录分组的情况。站点目录不能一次全爬,也没有分组,每次加载一目录页,可加载预定条数的目录,通过上拉的方式加载。
根据本公开的实施例,可以在transReaderCallback例程中新增字段menuType,用于确定要加载的目录的目录样式。在transReaderMessaged中新增两组交互字段:getMenu:传url,列表模式返回所有或者第一页章节列表;分组模式返回分组内的章节列表。getMenuGroup:不传参数返回分组列表;传章节url,返回章节所在分组url列表。
根据本公开的实施例,在NA端上调用transReaderCallback例程时可以确定要加载的目录属于那种目录样式,并初始化对应的目录类型。如果是分组样式:在目录初始化的时候,可以预先调用getMenuGroupList获取分组列表,返回分组url列表,以及每个分组多少章,渲染好全部闭合的分组。在用户切换章节的时候(包括首次),可以根据情况调用getMenuGroup,如果上次拉的分组列表中包含章节url则无需要调用getMenuGroup,根据章节url,获取分组url。获取完分组url,再根据情况调用getMenuGroup,取分组内的章节列表。高亮定位并展开。当用户点开目录的时候,目录就是已准备完成的。
通过本公开的上述实施例,提供了各类样式的目录提取的方法,如包括目录提取、分组目录提取等,适用范围更广。
图7示意性示出了根据本公开实施例的实现网页内容展示方法的系统架构图。
根据本公开的实施例,实现整个网页内容展示方法例如需要Server、前端、NA端等多个方向的处理。
如图7所示,Server端710可以包括脚本批量分析站点711、js脚本712、网站节点查询规则下发接口713和劫持网站白名单列表接口714。脚本批量分析站点711可以提供具有分析网站的设计规则功能的脚本。js脚本712可以表征上述js劫持脚本和js爬取脚本,并提供相应脚本的package。网站节点查询规则下发接口713可以用于向NA端搜索浏览器下发网站节点查询规则。劫持网站白名单列表接口714可以用于向NA端阅读器下发网站白名单列表。
如图7所示,NA端搜索浏览器720可以包括搜索结果页面721、站点详情页面722。搜索结果页面721可以为在搜索浏览器的搜索框中输入关键词得到的页面,该页面中可以包括检索到的检索结果卡片和文章结果卡片等。站点详情页面722可以包括通过点击文章结果卡片加载网页内容至加载外部资源阶段时的页面,在该阶段,站点详情页面中,可以基于网站白名单列表,注入js劫持脚本,向NA端阅读器分发scheme(一种计算机编程语言)。基于注入的js劫持脚本,可以根据网站节点查询规则确定具有实质意义的网页内容,并通过调用阅读器,对该具有实质意义的网页内容进行展示。
如图7所示,NA端阅读器730可以包括接口层731、隐藏浏览器732。接口层731可以包括网站白名单列表接口、js劫持脚本注入接口、scheme分发接口。隐藏浏览器732中内置有js爬取脚本,可以获取与要访问的网页内容相关的数据源,包括章节内容、目录等,并进一步完成该数据源在阅读器上的展示。
如图7所示,NA端阅读器730可以依赖于NA端搜索浏览器720而存在。Server端710可以为NA端搜索浏览器720、NA端阅读器730提供必要的网站节点查询规则和网站白名单列表等信息。隐藏浏览器732和NA端阅读器730之间的交互,可以基于jsinterface(js的接口)、scheme等同于方式实现,在此不再赘述。
通过本公开的上述实施例,可以有效的提高网站小说内容的精确提取,目录提取,分组目录提取。屏蔽掉三方站点的各种广告,提升阅读体验。
图8示意性示出了根据本公开实施例的网页内容展示装置的框图。
如图8所示,网页内容展示装置800包括第一确定模块810、调用模块820、第二确定模块830和第一展示模块840。
第一确定模块810,用于响应于针对第一链接对象的第一访问操作,确定与第一链接对象相对应的第一网页内容。
调用模块820,用于调用与第一链接对象所属的第一网站相对应的网站节点查询规则。其中,网站节点查询规则包括根据第一网站中预定网页元素的文档对象模型确定的规则。
第二确定模块830,用于根据网站节点查询规则,从第一网页内容中确定与预定网页元素相对应的第二网页内容。
第一展示模块840,用于基于第二网站对第二网页内容进行展示。
根据本公开的实施例,第一展示模块包括调用单元、渲染单元和展示单元。
调用单元,用于调用页面生成组件。其中,页面生成组件为与第二网站相关的组件。
渲染单元,用于通过页面生成组件,将第二网页内容渲染为第一目标网页。
展示单元,用于基于第二网站对第一目标网页进行展示。
根据本公开的实施例,第二网页内容包括第二链接对象。网页内容展示装置还包括第三确定模块、第四确定模块和第二展示模块。
第三确定模块,用于响应于针对第二链接对象的第二访问操作,确定与第二链接对象相对应的第三网页内容。其中,第三网页内容包括存储于第一网站中的内容。
第四确定模块,用于根据网站节点查询规则,从第三网页内容中确定与预定网页元素相对应的第四网页内容。
第二展示模块,用于基于第二网站对第四网页内容进行展示。
根据本公开的实施例,第三确定模块包括第一确定单元和第二确定单元。
第一确定单元,用于确定与第二链接对象相对应的链接地址;以及
第二确定单元,用于通过数据提供组件确定与链接地址相对应的第三网页内容,其中,数据提供组件为与第二网站相关的组件。
根据本公开的实施例,第二确定单元包括加载子单元和定义子单元。
加载子单元,用于通过第二网站,从第一网站中加载与链接地址相对应的超文本标记语言内容。
定义子单元,用于将超文本标记语言内容作为第三网页内容。
根据本公开的实施例,网页内容展示装置还包括第五确定模块和定义模块。
第五确定模块,用于确定与第二访问操作相对应的标识信息。
定义模块,用于将与标识信息相对应的网页内容作为第三网页内容。
根据本公开的实施例,第一访问操作包括对文章中目标章节内容的选择操作,第二网页内容包括目标章节内容;网页内容展示装置还包括第六确定模块和存储模块。
第六确定模块,用于确定与目标章节内容相对应的章节在文章中所有章节中的第一排序编号。
存储模块,用于将目标章节内容存储至虚拟空间中的目标存储空间。其中,虚拟空间为预设的用于分章节存储文章中的各章节内容的存储空间,目标存储空间在虚拟空间中的第二排序编号与第一排序编号相同。
根据本公开的实施例,第二网页内容包括文章的目录。网页内容展示装置还包括第七确定模块、第一加载模块和第二加载模块。
第七确定模块,用于确定文章的目录的目录样式。
第一加载模块,用于在目录样式为列表样式的情况下,通过获取目录例程加载与文章相对应的所有目录,或者通过获取目录例程加载与文章相对应的存储于同一个页面中的所有目录。
第二加载模块,用于在目录样式为分组样式的情况下,通过获取分组目录例程加载文章的所有分组目录,或者通过获取分组目录例程加载与预定章节内容所对应的目标目录相对应的目标分组目录。
根据本公开的实施例,网页内容展示装置还包括获取模块和第八确定模块。
获取模块,用于获取网站白名单列表。
第八确定模块,用于根据网站白名单列表确定目标网站。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上的方法。
根据本公开的实施例,一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如上的方法。
根据本公开的实施例,一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如上的方法。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如网页内容展示方法。例如,在一些实施例中,网页内容展示方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的网页内容展示方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行网页内容展示方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (20)
1.一种网页内容展示方法,包括:
响应于针对第一链接对象的第一访问操作,确定与所述第一链接对象相对应的第一网页内容;
调用与所述第一链接对象所属的第一网站相对应的网站节点查询规则,其中,所述网站节点查询规则包括根据所述第一网站中预定网页元素的文档对象模型确定的规则;
根据所述网站节点查询规则,从所述第一网页内容中确定与所述预定网页元素相对应的第二网页内容;以及
基于第二网站对所述第二网页内容进行展示。
2.根据权利要求1所述的方法,其中,基于第二网站对所述第二网页内容进行展示包括:
调用页面生成组件,其中,所述页面生成组件为与所述第二网站相关的组件;
通过所述页面生成组件,将所述第二网页内容渲染为第一目标网页;以及
基于第二网站对所述第一目标网页进行展示。
3.根据权利要求2所述的方法,其中,所述第二网页内容包括第二链接对象;所述方法还包括:
响应于针对所述第二链接对象的第二访问操作,确定与所述第二链接对象相对应的第三网页内容,其中,所述第三网页内容包括存储于所述第一网站中的内容;
根据所述网站节点查询规则,从所述第三网页内容中确定与所述预定网页元素相对应的第四网页内容;以及
基于所述第二网站对所述第四网页内容进行展示。
4.根据权利要求3所述的方法,其中,响应于针对所述第二链接对象的第二访问操作,确定与所述第二链接对象相对应的第三网页内容包括:
确定与所述第二链接对象相对应的链接地址;以及
通过数据提供组件确定与所述链接地址相对应的第三网页内容,其中,所述数据提供组件为与所述第二网站相关的组件。
5.根据权利要求4所述的方法,其中,通过数据提供组件确定与所述链接地址相对应的第三网页内容包括:
通过所述第二网站,从所述第一网站中加载与所述链接地址相对应的超文本标记语言内容;以及
将所述超文本标记语言内容作为所述第三网页内容。
6.根据权利要求4或5所述的方法,还包括:
确定与所述第二访问操作相对应的标识信息;以及
将与所述标识信息相对应的网页内容作为所述第三网页内容。
7.根据权利要求1至6中任一所述的方法,其中,所述第一访问操作包括对文章中目标章节内容的选择操作,所述第二网页内容包括所述目标章节内容;所述方法还包括:
确定与所述目标章节内容相对应的章节在所述文章中所有章节中的第一排序编号;以及
将所述目标章节内容存储至虚拟空间中的目标存储空间,其中,所述虚拟空间为预设的用于分章节存储所述文章中的各章节内容的存储空间,所述目标存储空间在所述虚拟空间中的第二排序编号与所述第一排序编号相同。
8.根据权利要求1至7中任一所述的方法,其中,所述第二网页内容包括文章的目录;所述方法还包括:
确定所述文章的目录的目录样式;
在所述目录样式为列表样式的情况下,通过获取目录例程加载与所述文章相对应的所有目录,或者通过所述获取目录例程加载与所述文章相对应的存储于同一个页面中的所有目录;以及
在所述目录样式为分组样式的情况下,通过获取分组目录例程加载所述文章的所有分组目录,或者通过所述获取分组目录例程加载与预定章节内容所对应的目标目录相对应的目标分组目录。
9.根据权利要求1所述的方法,还包括:
获取网站白名单列表;以及
根据所述网站白名单列表确定所述目标网站。
10.一种网页内容展示装置,包括:
第一确定模块,用于响应于针对第一链接对象的第一访问操作,确定与所述第一链接对象相对应的第一网页内容;
调用模块,用于调用与所述第一链接对象所属的第一网站相对应的网站节点查询规则,其中,所述网站节点查询规则包括根据所述第一网站中预定网页元素的文档对象模型确定的规则;
第二确定模块,用于根据所述网站节点查询规则,从所述第一网页内容中确定与所述预定网页元素相对应的第二网页内容;以及
第一展示模块,用于基于第二网站对所述第二网页内容进行展示。
11.根据权利要求10所述的装置,其中,所述第一展示模块包括:
调用单元,用于调用页面生成组件,其中,所述页面生成组件为与所述第二网站相关的组件;
渲染单元,用于通过所述页面生成组件,将所述第二网页内容渲染为第一目标网页;以及
展示单元,用于基于第二网站对所述第一目标网页进行展示。
12.根据权利要求11所述的装置,其中,所述第二网页内容包括第二链接对象;所述装置还包括:
第三确定模块,用于响应于针对所述第二链接对象的第二访问操作,确定与所述第二链接对象相对应的第三网页内容,其中,所述第三网页内容包括存储于所述第一网站中的内容;
第四确定模块,用于根据所述网站节点查询规则,从所述第三网页内容中确定与所述预定网页元素相对应的第四网页内容;以及
第二展示模块,用于基于所述第二网站对所述第四网页内容进行展示。
13.根据权利要求12所述的装置,其中,所述第三确定模块包括:
第一确定单元,用于确定与所述第二链接对象相对应的链接地址;以及
第二确定单元,用于通过数据提供组件确定与所述链接地址相对应的第三网页内容,其中,所述数据提供组件为与所述第二网站相关的组件。
14.根据权利要求13所述的装置,其中,所述第二确定单元包括:
加载子单元,用于通过所述第二网站,从所述第一网站中加载与所述链接地址相对应的超文本标记语言内容;以及
定义子单元,用于将所述超文本标记语言内容作为所述第三网页内容。
15.根据权利要求13或14所述的装置,还包括:
第五确定模块,用于确定与所述第二访问操作相对应的标识信息;以及
定义模块,用于将与所述标识信息相对应的网页内容作为所述第三网页内容。
16.根据权利要求10至15中任一所述的装置,其中,所述第一访问操作包括对文章中目标章节内容的选择操作,所述第二网页内容包括所述目标章节内容;所述装置还包括:
第六确定模块,用于确定与所述目标章节内容相对应的章节在所述文章中所有章节中的第一排序编号;以及
存储模块,用于将所述目标章节内容存储至虚拟空间中的目标存储空间,其中,所述虚拟空间为预设的用于分章节存储所述文章中的各章节内容的存储空间,所述目标存储空间在所述虚拟空间中的第二排序编号与所述第一排序编号相同。
17.根据权利要求10至16中任一所述的装置,其中,所述第二网页内容包括文章的目录;所述装置还包括:
第七确定模块,用于确定所述文章的目录的目录样式;
第一加载模块,用于在所述目录样式为列表样式的情况下,通过获取目录例程加载与所述文章相对应的所有目录,或者通过所述获取目录例程加载与所述文章相对应的存储于同一个页面中的所有目录;以及
第二加载模块,用于在所述目录样式为分组样式的情况下,通过获取分组目录例程加载所述文章的所有分组目录,或者通过所述获取分组目录例程加载与预定章节内容所对应的目标目录相对应的目标分组目录。
18.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
19.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。
20.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110964751.5A CN113656737B (zh) | 2021-08-20 | 2021-08-20 | 网页内容展示方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110964751.5A CN113656737B (zh) | 2021-08-20 | 2021-08-20 | 网页内容展示方法、装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656737A true CN113656737A (zh) | 2021-11-16 |
CN113656737B CN113656737B (zh) | 2024-05-14 |
Family
ID=78491921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110964751.5A Active CN113656737B (zh) | 2021-08-20 | 2021-08-20 | 网页内容展示方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656737B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253445A (zh) * | 2021-12-22 | 2022-03-29 | 北京金堤科技有限公司 | 滑动联动模式的配置方法、页面的联动方法及装置 |
CN117950787A (zh) * | 2024-03-22 | 2024-04-30 | 成都赛力斯科技有限公司 | 广告展示方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577466A (zh) * | 2012-08-03 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种在浏览器中显示网页内容的方法和装置 |
US20140129922A1 (en) * | 2012-11-07 | 2014-05-08 | International Business Machines Corporation | Ensuring integrity of a displayed web page |
CN104965901A (zh) * | 2015-06-30 | 2015-10-07 | 北京奇虎科技有限公司 | 一种目标页面内容抓取方法和装置 |
WO2017096813A1 (zh) * | 2015-12-10 | 2017-06-15 | 乐视控股(北京)有限公司 | 网页展示方法、移动终端、智能终端、程序和存储介质 |
CN107508903A (zh) * | 2017-09-07 | 2017-12-22 | 维沃移动通信有限公司 | 一种网页内容的访问方法及终端设备 |
WO2018086457A1 (zh) * | 2016-11-14 | 2018-05-17 | 腾讯科技(深圳)有限公司 | 网页显示方法、装置、移动终端及存储介质 |
WO2019237547A1 (zh) * | 2018-06-11 | 2019-12-19 | 平安科技(深圳)有限公司 | 数据爬取方法、装置、计算机设备及存储介质 |
CN111353112A (zh) * | 2020-02-27 | 2020-06-30 | 百度在线网络技术(北京)有限公司 | 页面处理方法、装置、电子设备和计算机可读介质 |
CN112784201A (zh) * | 2021-01-29 | 2021-05-11 | 游艺星际(北京)科技有限公司 | 网页显示方法、装置、终端及存储介质 |
-
2021
- 2021-08-20 CN CN202110964751.5A patent/CN113656737B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577466A (zh) * | 2012-08-03 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种在浏览器中显示网页内容的方法和装置 |
US20140129922A1 (en) * | 2012-11-07 | 2014-05-08 | International Business Machines Corporation | Ensuring integrity of a displayed web page |
CN104965901A (zh) * | 2015-06-30 | 2015-10-07 | 北京奇虎科技有限公司 | 一种目标页面内容抓取方法和装置 |
WO2017096813A1 (zh) * | 2015-12-10 | 2017-06-15 | 乐视控股(北京)有限公司 | 网页展示方法、移动终端、智能终端、程序和存储介质 |
WO2018086457A1 (zh) * | 2016-11-14 | 2018-05-17 | 腾讯科技(深圳)有限公司 | 网页显示方法、装置、移动终端及存储介质 |
CN107508903A (zh) * | 2017-09-07 | 2017-12-22 | 维沃移动通信有限公司 | 一种网页内容的访问方法及终端设备 |
WO2019237547A1 (zh) * | 2018-06-11 | 2019-12-19 | 平安科技(深圳)有限公司 | 数据爬取方法、装置、计算机设备及存储介质 |
CN111353112A (zh) * | 2020-02-27 | 2020-06-30 | 百度在线网络技术(北京)有限公司 | 页面处理方法、装置、电子设备和计算机可读介质 |
CN112784201A (zh) * | 2021-01-29 | 2021-05-11 | 游艺星际(北京)科技有限公司 | 网页显示方法、装置、终端及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253445A (zh) * | 2021-12-22 | 2022-03-29 | 北京金堤科技有限公司 | 滑动联动模式的配置方法、页面的联动方法及装置 |
CN114253445B (zh) * | 2021-12-22 | 2024-01-30 | 北京金堤科技有限公司 | 滑动联动模式的配置方法、页面的联动方法及装置 |
CN117950787A (zh) * | 2024-03-22 | 2024-04-30 | 成都赛力斯科技有限公司 | 广告展示方法、装置、电子设备及存储介质 |
CN117950787B (zh) * | 2024-03-22 | 2024-05-31 | 成都赛力斯科技有限公司 | 广告展示方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113656737B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683998B (zh) | 国际化实现方法、装置和系统 | |
US20190370305A1 (en) | Method and apparatus for providing search results | |
US9183515B2 (en) | Share box for endorsements | |
KR101748196B1 (ko) | 표시할 메시지 데이터 결정 | |
JP2022184964A (ja) | インターネットコンテンツ内の要素の直接的なブラウザ内のマークアップのためのシステムおよび方法 | |
US11055373B2 (en) | Method and apparatus for generating information | |
CN108334517A (zh) | 一种网页渲染方法及相关设备 | |
US11354119B2 (en) | Automatically upgrading and finding components similar to legacy versions | |
US20120296746A1 (en) | Techniques to automatically search selected content | |
US20190259040A1 (en) | Information aggregator and analytic monitoring system and method | |
CN109829121B (zh) | 一种点击行为数据上报的方法和装置 | |
US11423096B2 (en) | Method and apparatus for outputting information | |
CN103577392A (zh) | 基于当前浏览页面的关键词推送方法及装置 | |
CN103678704A (zh) | 一种基于图片信息的识图方法、系统、设备及装置 | |
CN113656737B (zh) | 网页内容展示方法、装置、电子设备以及存储介质 | |
US20220121668A1 (en) | Method for recommending document, electronic device and storage medium | |
US20210133267A1 (en) | Indexing native application data | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN103678706A (zh) | 一种基于截图信息的识图方法、系统、设备及装置 | |
CN104021193B (zh) | 搜索切换方法及搜索切换装置 | |
CN110955855A (zh) | 一种信息拦截的方法、装置及终端 | |
CN111680247A (zh) | 网页字符串的本地调用方法、装置、设备及存储介质 | |
CN104866545A (zh) | 在信息展示页面上检索关键字的方法 | |
CN114528510A (zh) | 网页数据处理的方法、装置、电子设备及介质 | |
CN112016017A (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 |