本申请实施例涉及互联网技术领域,尤其涉及一种内容数据的生成方法、装置、电子设备及计算机可读介质。
背景技术:
随着网络的高速发展,人们通过访问网站,可以随时随地获取自己想要的资讯或者服务。在目前的网站建设过程中,大多数的中小型网站都采用模板系统搭建而成,例如,视频网站、小说网站等。由于广告是网站的主要营收手段,因此,采用模板系统所搭建的网站广告多,使网站页面不清爽。为了在保障网站站长的收益的同时,使得用户有更佳的网页浏览体验,需要对网站的原始网页进行转码重建,并在原始网页对应的转码页中受控地投放原始网页的广告。
在现有技术中,采用浏览器、中间件及目标网站构成的系统来对网站的原始网页进行转码重建,并在转码页中受控地投放原始网页的广告。具体地,可在中间件解释原始网页之后,选择性地进行广告要素的抽取,并把抽取得到的广告要素整合到转码页中,再把转码页应答给浏览器,使得浏览器展示整合到转码页中的广告要素,从而实现在转码页中受控地投放原始网页的广告。然而,这种做法存在的最大问题是广告的生成并不在浏览器侧,而是在中间件侧。当广告的生成需要依赖用户环境时,中间件侧广告的生成将会脱离用户环境,除非在中间件侧还原出用户环境,但这样的实现成本巨大。
技术实现要素:
本申请的目的在于提出一种内容数据的生成方法、装置、电子设备及计算机可读介质,用于解决现有技术中存在的如何在浏览器生成原始网页的内容数据的问题。
根据本申请实施例的第一方面,提供了一种内容数据的生成方法。所述方法包括:中间件接收目标网站根据网页请求返回的网页,其中,所述网页请求为所述中间件作为浏览器的代理向所述目标网站发送的请求;所述中间件抽取所述网页的代码中用于生成内容数据的代码块,并基于预设的网页模板,将所述代码块整合到所述网页的转码页中,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;所述中间件向所述浏览器发送所述转码页,以使所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的所述代码块,以生成所述网页的内容数据。
根据本申请实施例的第二方面,提供了一种内容数据的生成方法。所述方法包括:浏览器接收为所述浏览器代理网页请求的中间件发送的转码页,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据。
根据本申请实施例的第三方面,提供了一种内容数据的生成装置。所述装置包括:第一接收模块,用于接收目标网站根据网页请求返回的网页,其中,所述网页请求为所述中间件作为浏览器的代理向所述目标网站发送的请求;第一抽取模块,用于抽取所述网页的代码中用于生成内容数据的代码块;整合模块,用于基于预设的网页模板,将所述代码块整合到所述网页的转码页中,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;发送模块,用于向所述浏览器发送所述转码页,以使所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的所述代码块,以生成所述网页的内容数据。
根据本申请实施例的第四方面,提供了一种内容数据的生成装置。所述装置包括:第二接收模块,用于接收为所述浏览器代理网页请求的中间件发送的转码页,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;执行模块,用于在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据。
根据本申请实施例的第五方面,提供了一种电子设备,包括:一个或多个处理器;计算机可读介质,配置为存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例第一方面或第二方面中所述的内容数据的生成方法。
根据本申请实施例的第六方面,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例第一方面或第二方面中所述的内容数据的生成方法。
通过本申请实施例提供的技术方案,中间件接收目标网站根据网页请求返回的网页,并抽取网页的代码中用于生成内容数据的代码块,再基于预设的网页模板,将代码块整合到网页的转码页中,再向浏览器发送转码页,以使浏览器在转码页的内容数据生成层中执行整合到转码页中的代码块,以生成网页的内容数据,与现有的其它方式相比,能够在浏览器生成原始网页的内容数据,从而避免脱离用户环境生成原始网页的内容数据的情况的发生。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例一中内容数据的生成方法的步骤流程图;
图2为本申请实施例二中内容数据的生成方法的步骤流程图;
图3为本申请实施例三中内容数据的生成方法的步骤流程图;
图4为本申请实施例四中内容数据的生成装置的结构示意图;
图5为本申请实施例五中内容数据的生成装置的结构示意图;
图6为本申请实施例六中内容数据的生成装置的结构示意图;
图7为本申请实施例七中电子设备的结构示意图;
图8为本申请实施例八中电子设备的硬件结构。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅配置为解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
在现有技术中,采用浏览器、中间件及目标网站构成的系统来对网站的原始网页进行转码重建,并在转码页中受控地投放原始网页的广告。但是,这种方案存在的最大问题是广告的生成并不在浏览器侧,而是在中间件侧。当广告的生成需要依赖用户环境时,中间件侧广告的生成将会脱离用户环境,除非在中间件侧还原出用户环境,但这样的实现成本巨大。针对现有技术中存在的如何在浏览器生成原始网页的广告的问题,本申请提出以下解决方案。
参照图1,示出了本申请实施例一的内容数据的生成方法的步骤流程图。
本实施例从中间件的角度,对本申请实施例提供的内容数据的生成方法进行说明。具体地,本实施例的内容数据的生成方法包括以下步骤:
在步骤s101中,中间件接收目标网站根据网页请求返回的网页。
在本申请实施例中,所述中间件可理解为一类连接浏览器和网站服务器的计算机软件,提供对网站的原始网页进行转码重建的服务。所述网页请求为所述中间件作为浏览器的代理向所述目标网站发送的请求。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,响应于用户针对浏览器的搜索结果页中的网页链接的点击操作,所述浏览器向所述中间件发送网页请求,所述中间件的浏览器内核代理所述网页请求,向目标网站请求网页,所述目标网站根据请求返回所请求的网页,所述中间件的浏览器内核接收所述目标网站根据请求返回的网页。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在步骤s102中,所述中间件抽取所述网页的代码中用于生成内容数据的代码块,并基于预设的网页模板,将所述代码块整合到所述网页的转码页中。
在本申请实施例中,所述中间件的浏览器内核对接收到的网页进行网页的渲染、布局等网页解释的基本操作。然后,所述中间件的浏览器内核抽取所述网页的代码中用于生成内容数据的代码块。其中,所述网页的代码包括所述网页的html代码,所述内容数据可为所述网页的广告,所述代码块可为所述网页的html代码中用于生成广告的脚本标签,例如,script标签。再然后,所述中间件的浏览器内核抽取所述网页的转码页所需要的相关内容,例如,播放地址、图片地址、段落文字等。再然后,所述中间件的浏览器内核基于预设的网页模板,对所述网页的转码页所需要的相关内容进行整合,生成所述网页的转码页。再然后,所述中间件的浏览器内核基于预设的网页模板,将所述代码块整合到所述网页的转码页的转码内容层中。其中,所述预设的网页模板包括转码内容层和为所述转码内容层配置的内容数据生成层,相应地,所述转码页包括转码内容层和为所述转码页的转码内容层配置的内容数据生成层。具体地,所述内容数据生成层可由转码页的一个独立的iframe标签实现,所述转码内容层可由转码页的主iframe标签实现。可替换地,在抽取所述网页的转码页所需要的相关内容之后,所述中间件的浏览器内核基于预设的网页模板,对所述网页的转码页所需要的相关内容和所述代码块进行整合,生成所述网页的转码页。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,当所述代码块包括所述网页的代码中用于生成内容数据的脚本标签时,所述中间件抽取所述网页的代码中用于生成内容数据的代码块,包括:所述中间件抽取所述网页的代码中所有的脚本标签,并对所述脚本标签执行筛选操作,确定所述用于生成内容数据的脚本标签。籍此,能够准确地抽取用于生成内容数据的代码块。可以理解的是,所述中间件抽取所述网页的代码中用于生成内容数据的代码块的任何实施方式均可适用于此,本申请实施例对此不做任何限定。
在一些可选实施例中,所述中间件对所述脚本标签执行筛选操作,确定所述用于生成内容数据的脚本标签时,所述中间件对所述脚本标签进行排列组合,确定不同的脚本标签的组合;所述中间件针对不同的脚本标签的组合执行筛选操作,确定用于生成内容数据的脚本标签的组合。籍此,能够准确地确定用于生成内容数据的脚本标签。可以理解的是,所述中间件对所述脚本标签执行筛选操作,确定所述用于生成内容数据的脚本标签的任何实施方式均可适用于此,本申请实施例对此不做任何限定。
在一个具体的例子中,所述中间件对所述脚本标签进行排列组合,确定不同的脚本标签的组合时,所述中间件基于script标签的抽取顺序,对所述script标签进行有序排列组合,确定不同的script标签的组合。其中,所述脚本标签包括script标签。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,所述中间件针对不同的脚本标签的组合执行筛选操作,确定用于生成内容数据的脚本标签的组合时,所述中间件针对每个组合的脚本标签,将脚本标签插入到独立的内联框架标签中执行,以生成相应的内容数据,并确定生成的内容数据的数量;所述中间件基于每个组合的脚本标签的数量和每个组合的脚本标签生成的内容数据的数量,确定最优的脚本标签的组合;所述中间件确定所述最优的脚本标签的组合为所述用于生成内容数据的脚本标签的组合。籍此,能够准确地确定用于生成内容数据的脚本标签的组合。可以理解的是,所述中间件针对不同的脚本标签的组合执行筛选操作,确定用于生成内容数据的脚本标签的组合的任何实施方式均可适用于此,本申请实施例对此不做任何限定。
在一个具体的例子中,所述中间件将脚本标签插入到独立的内联框架标签中执行时,所述中间件按照所述script标签的抽取顺序,将所述script标签插入到独立的iframe标签中;所述中间件在所述独立的iframe标签中执行插入到所述独立的iframe标签中的所述script标签。在确定最优的脚本标签的组合时,所述中间件确定script标签的数量最少,且生成的内容数据的数量最多的组合为所述最优的script标签的组合。其中,所述内联框架标签包括iframe标签,所述脚本标签包括script标签。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,所述中间件确定生成的内容数据的数量时,所述中间件在将脚本标签插入到独立的内联框架标签中执行之后,遍历所述独立的内联框架标签中的主体节点下的孩子节点,并确定满足设定条件的孩子节点为内容数据节点;所述中间件基于所述内容数据节点的数量,确定生成的内容数据的数量,其中,所述设定条件包括以下中的至少一者:所述孩子节点的子孙节点具有显示的图像、所述孩子节点的子孙节点具有的显示的图像的最大宽度等于或大于所述独立的内联框架标签定义的宽度与预设比例的乘积、所述孩子节点的子孙节点具有的显示的图像的最大高度等于或大于预设值。其中,所述预设值可由本领域技术人员根据实际需要进行设定,本申请实施例对此不做任何限定,所述主体节点包括body节点。籍此,能够准确地确定生成的内容数据的数量。可以理解的是,所述中间件确定生成的内容数据的数量的任何实施方式均可适用于此,本申请实施例对此不做任何限定。
在一个具体的例子中,在将script标签插入到独立的iframe标签中执行之后,在所述独立的iframe标签中的body节点下会生成若干节点,此时,需要遍历所述独立的iframe标签中的body节点下的孩子节点,并确定满足设定条件的孩子节点为内容数据节点。其中,所述设定的条件包括:(1)所述孩子节点的子孙节点具有显示的图像;(2)所述孩子节点的子孙节点具有显示的图像的最大宽度达到所述独立的iframe标签定义的宽度的90%或以上;(3)所述孩子节点的子孙节点具有显示的图像的最大高度要达到100px。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在步骤s103中,所述中间件向所述浏览器发送所述转码页,以使所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的所述代码块,以生成所述网页的内容数据。
在本申请实施例中,在生成所述网页的转码页之后,所述中间件向所述浏览器发送所述转码页。具体地,所述中间件将所述转码页应答给所述浏览器。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
通过本申请实施例提供的内容数据的生成方法,中间件接收目标网站根据网页请求返回的网页,并抽取网页的代码中用于生成内容数据的代码块,再基于预设的网页模板,将代码块整合到网页的转码页中,再向浏览器发送转码页,以使浏览器在转码页的内容数据生成层中执行整合到转码页中的代码块,以生成网页的内容数据,与现有的其它方式相比,能够在浏览器生成原始网页的内容数据,从而避免脱离用户环境生成原始网页的内容数据的情况的发生。
本实施例的内容数据的生成方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、pc机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(pda)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如googleglass、oculusrift、hololens、gearvr)等。
参照图2,示出了本申请实施例二的内容数据的生成方法的步骤流程图。
本实施例从浏览器的角度,对本申请实施例提供的内容数据的生成方法进行说明。具体地,本实施例的内容数据的生成方法包括以下步骤:
在步骤s201中,浏览器接收为所述浏览器代理网页请求的中间件发送的转码页。
在本申请实施例中,在接收到中间件发送的转码页之后,所述浏览器对所述转码页执行基本的网页解析操作,以显示所述转码页的主内容。其中,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在步骤s202中,所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据。
在一些可选实施例中,当所述代码块包括所述原始网页的代码中用于生成内容数据的脚本标签时,所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据,包括:所述浏览器将所述脚本标签插入到所述内容数据生成层对应的内联框架标签中执行;所述浏览器遍历所述内联框架标签中的主体节点下的孩子节点,并确定满足设定条件的孩子节点为内容数据节点;所述浏览器基于所述内容数据节点,生成所述转码页对应的原始网页的内容数据,其中,所述设定条件包括以下中的至少一者:所述设定条件包括以下中的至少一者:所述孩子节点的子孙节点具有显示的图像、所述孩子节点的子孙节点具有的显示的图像的最大宽度等于或大于所述独立的内联框架标签定义的宽度与预设比例的乘积、所述孩子节点的子孙节点具有的显示的图像的最大高度等于或大于预设值。籍此,能够生成转码页对应的原始网页的内容数据。可以理解的是,所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据的任何实施方式均可适用于此,本申请实施例对此不做任何限定。
在一个具体的例子中,所述浏览器将脚本标签插入到所述内容数据生成层对应的内联框架标签中执行时,所述浏览器按照所述script标签的抽取顺序,将所述script标签插入到所述内容数据生成层对应的iframe标签中;所述浏览器在所述内容数据生成层对应的iframe标签中执行插入到所述内容数据生成层对应的iframe标签中的所述script标签。其中,所述内联框架标签包括iframe标签,所述脚本标签包括script标签。在将script标签插入到所述内容数据生成层对应的iframe标签中执行之后,在所述内容数据生成层对应的iframe标签中的body节点下会生成若干节点,此时,需要遍历所述内容数据生成层对应的iframe标签中的body节点下的孩子节点,并确定满足设定条件的孩子节点为内容数据节点。其中,所述设定的条件包括:(1)所述孩子节点的子孙节点具有显示的图像;(2)所述孩子节点的子孙节点具有显示的图像的最大宽度达到所述独立的iframe标签定义的宽度的90%或以上;(3)所述孩子节点的子孙节点具有显示的图像的最大高度要达到100px。所述内容数据可为原始网页的广告。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,所述浏览器生成所述转码页对应的原始网页的内容数据之后,所述方法还包括:所述浏览器在所述转码页的转码内容层中展示所述内容数据。籍此,能够在转码页的转码内容层中展示内容数据。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,所述浏览器在所述转码页的转码内容层中展示所述内容数据时,所述浏览器在所述内容数据节点中抽取用于所述内容数据展示的内容体;所述浏览器基于所述内容数据节点的确定顺序,将所述内容数据节点与所述转码页的转码内容层中的内容数据展示位置关联;所述浏览器在所述内容数据展示位置展示在与所述内容数据展示位置关联的内容数据节点中抽取的所述内容体。籍此,能够在转码页的转码内容层的特定位置展示内容数据。可以理解的是,所述浏览器在所述转码页的转码内容层中展示所述内容数据的任何实施方式均可适用于此,本申请实施例对此不做任何限定。
在一个具体的例子中,所述浏览器将用于生成广告的script标签插入到广告生成层对应的iframe标签中执行,以生成广告。广告生成后,浏览器将广告图像进行截图,把截得的图像放置到转码页的转码内容层对应的广告预留位上。其中,上述提到的对广告图像的截图操作是一个抽象的操作,目标是得到广告展示的内容体,技术上可抽取广告节点的图片,或使用原生的绘图接口等不同手段来取得广告展示的内容体。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,当用户点击转码页的转码内容层的预留广告位时,浏览器对用户在预留广告位的点击坐标执行映射操作,获得与预留广告位关联的广告图像的点击坐标,并基于广告图像的点击坐标,模拟针对广告图像的点击事件,再基于针对广告图像的点击事件,触发对广告图像的点击,当前页面跳转到广告页面,从而实现用户对广告图像的查看。此外,生成广告的操作、关闭广告的操作、点击广告的操作,会产生统计请求,这些请求都基于浏览器发出,不会破坏站点统计收集。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
通过本申请实施例提供的内容数据的生成方法,浏览器接收为所述浏览器代理网页请求的中间件发送的转码页,并在转码页的内容数据生成层中执行整合到转码页中的用于生成内容数据的代码块,以生成转码页对应的原始网页的内容数据,与现有的其它方式相比,能够在浏览器生成原始网页的内容数据,从而避免脱离用户环境生成原始网页的内容数据的情况的发生。
本实施例的内容数据的生成方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、pc机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(pda)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如googleglass、oculusrift、hololens、gearvr)等。
参照图3,示出了本申请实施例三的内容数据的生成方法的步骤流程图。
本实施例从浏览器与中间件交互的角度,对本申请实施例提供的内容数据的生成方法进行说明。具体地,本实施例的内容数据的生成方法包括以下步骤:
在步骤s301中,中间件接收目标网站根据网页请求返回的网页。
由于该步骤s301与上述步骤s101类似,在此不再赘述。
在步骤s302中,所述中间件抽取所述网页的代码中用于生成内容数据的代码块,并基于预设的网页模板,将所述代码块整合到所述网页的转码页中。
由于该步骤s302与上述步骤s102类似,在此不再赘述。
在步骤s303中,所述中间件向所述浏览器发送所述转码页。
由于该步骤s303与上述步骤s103类似,在此不再赘述。
在步骤s304中,浏览器接收为所述浏览器代理网页请求的中间件发送的转码页。
由于该步骤s304与上述步骤s201类似,在此不再赘述。
在步骤s305中,所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据。
由于该步骤s305与上述步骤s202类似,在此不再赘述。
通过本申请实施例提供的内容数据的生成方法,中间件接收目标网站根据网页请求返回的网页,并抽取网页的代码中用于生成内容数据的代码块,再基于预设的网页模板,将代码块整合到网页的转码页中,再向浏览器发送转码页,浏览器接收为所述浏览器代理网页请求的中间件发送的转码页,并在转码页的内容数据生成层中执行整合到转码页中的用于生成内容数据的代码块,以生成转码页对应的原始网页的内容数据,与现有的其它方式相比,能够在浏览器生成原始网页的内容数据,从而避免脱离用户环境生成原始网页的内容数据的情况的发生。
本实施例的内容数据的生成方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、pc机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(pda)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如googleglass、oculusrift、hololens、gearvr)等。
参照图4,示出了本申请实施例四中内容数据的生成装置的结构示意图。
本实施例的内容数据的生成装置包括:第一接收模块401,用于接收目标网站根据网页请求返回的网页,其中,所述网页请求为所述中间件作为浏览器的代理向所述目标网站发送的请求;第一抽取模块402,用于抽取所述网页的代码中用于生成内容数据的代码块;整合模块403,用于基于预设的网页模板,将所述代码块整合到所述网页的转码页中,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;发送模块404,用于向所述浏览器发送所述转码页,以使所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的所述代码块,以生成所述网页的内容数据。
本实施例的内容数据的生成装置用于实现前述多个方法实施例中相应的内容数据的生成方法,并具有相应的方法实施例的有益效果,在此不再赘述。
参照图5,示出了本申请实施例五中内容数据的生成装置的结构示意图。
本实施例的内容数据的生成装置包括:第一接收模块501,用于接收目标网站根据网页请求返回的网页,其中,所述网页请求为所述中间件作为浏览器的代理向所述目标网站发送的请求;第一抽取模块502,用于抽取所述网页的代码中用于生成内容数据的代码块;整合模块503,用于基于预设的网页模板,将所述代码块整合到所述网页的转码页中,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;发送模块504,用于向所述浏览器发送所述转码页,以使所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的所述代码块,以生成所述网页的内容数据。
可选地,所述代码块包括所述网页的代码中用于生成内容数据的脚本标签,所述第一抽取模块502,包括:第二抽取模块5021,用于抽取所述网页的代码中所有的脚本标签;第一筛选模块5022,用于对所述脚本标签执行筛选操作,确定所述用于生成内容数据的脚本标签。
可选地,所述第一筛选模块5022,包括:排列组合模块5023,用于对所述脚本标签进行排列组合,确定不同的脚本标签的组合;第二筛选模块5024,用于针对不同的脚本标签的组合执行筛选操作,确定用于生成内容数据的脚本标签的组合。
可选地,所述第二筛选模块5024,包括:第一确定模块5025,用于针对每个组合的脚本标签,将脚本标签插入到独立的内联框架标签中执行,以生成相应的内容数据,并确定生成的内容数据的数量;第二确定模块5026,用于基于每个组合的脚本标签的数量和每个组合的脚本标签生成的内容数据的数量,确定最优的脚本标签的组合;第三确定模块5027,用于确定所述最优的脚本标签的组合为所述用于生成内容数据的脚本标签的组合。
可选地,所述第一确定模块5025,具体用于:在将脚本标签插入到独立的内联框架标签中执行之后,遍历所述独立的内联框架标签中的主体节点下的孩子节点,并确定满足设定条件的孩子节点为内容数据节点;基于所述内容数据节点的数量,确定生成的内容数据的数量,其中,所述设定条件包括以下中的至少一者:所述孩子节点的子孙节点具有显示的图像、所述孩子节点的子孙节点具有的显示的图像的最大宽度等于或大于所述独立的内联框架标签定义的宽度与预设比例的乘积、所述孩子节点的子孙节点具有的显示的图像的最大高度等于或大于预设值。
本实施例的内容数据的生成装置用于实现前述多个方法实施例中相应的内容数据的生成方法,并具有相应的方法实施例的有益效果,在此不再赘述。
参照图6,示出了本申请实施例六中内容数据的生成装置的结构示意图。
本实施例的内容数据的生成装置包括:第二接收模块601,用于接收为所述浏览器代理网页请求的中间件发送的转码页,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;执行模块602,用于在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据。
可选地,所述代码块包括所述原始网页的代码中用于生成内容数据的脚本标签,所述执行模块602,具体用于:将所述脚本标签插入到所述内容数据生成层对应的内联框架标签中执行;遍历所述内联框架标签中的主体节点下的孩子节点,并确定满足设定条件的孩子节点为内容数据节点;基于所述内容数据节点,生成所述转码页对应的原始网页的内容数据,其中,所述设定条件包括以下中的至少一者:所述孩子节点的子孙节点具有显示的图像、所述孩子节点的子孙节点具有的显示的图像的最大宽度等于或大于所述独立的内联框架标签定义的宽度与预设比例的乘积、所述孩子节点的子孙节点具有的显示的图像的最大高度等于或大于预设值。
可选地,所述执行模块602之后,所述装置还包括:展示模块603,用于在所述转码页的转码内容层中展示所述内容数据。
可选地,所述展示模块603,具体用于:在所述内容数据节点中抽取用于所述内容数据展示的内容体;基于所述内容数据节点的确定顺序,将所述内容数据节点与所述转码页的转码内容层中的内容数据展示位置关联;在所述内容数据展示位置展示在与所述内容数据展示位置关联的内容数据节点中抽取的所述内容体。
本实施例的内容数据的生成装置用于实现前述多个方法实施例中相应的内容数据的生成方法,并具有相应的方法实施例的有益效果,在此不再赘述。
图7为本申请实施例七中电子设备的结构示意图;该电子设备可以包括:
一个或多个处理器701;
计算机可读介质702,可以配置为存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例一或实施例二中所述的内容数据的生成方法。
图8为本申请实施例八中电子设备的硬件结构;如图8所示,该电子设备的硬件结构可以包括:处理器801,通信接口802,计算机可读介质803和通信总线804;
其中处理器801、通信接口802、计算机可读介质803通过通信总线804完成相互间的通信;
可选地,通信接口802可以为通信模块的接口,如gsm模块的接口;
其中,处理器801具体可以配置为:接收目标网站根据网页请求返回的网页,其中,所述网页请求为所述中间件作为浏览器的代理向所述目标网站发送的请求;抽取所述网页的代码中用于生成内容数据的代码块,并基于预设的网页模板,将所述代码块整合到所述网页的转码页中,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;向所述浏览器发送所述转码页,以使所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的所述代码块,以生成所述网页的内容数据。此外,处理器801还可以配置为:接收为所述浏览器代理网页请求的中间件发送的转码页,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据。
处理器801可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
计算机可读介质803可以是,但不限于,随机存取存储介质(randomaccessmemory,ram),只读存储介质(readonlymemory,rom),可编程只读存储介质(programmableread-onlymemory,prom),可擦除只读存储介质(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储介质(electricerasableprogrammableread-onlymemory,eeprom)等。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含配置为执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以但不限于是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储介质(ram)、只读存储介质(rom)、可擦式可编程只读存储介质(eprom或闪存)、光纤、便携式紧凑磁盘只读存储介质(cd-rom)、光存储介质件、磁存储介质件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输配置为由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写配置为执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络:包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个配置为实现规定的逻辑功能的可执行指令。上述具体实施例中有特定先后关系,但这些先后关系只是示例性的,在具体实现的时候,这些步骤可能会更少、更多或执行顺序有调整。即在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第二接收模块、执行模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,第二接收模块还可以被描述为“接收为所述浏览器代理网页请求的中间件发送的转码页的模块”。
作为另一方面,本申请还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一或实施例二中所描述的内容数据的生成方法。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:接收目标网站根据网页请求返回的网页,其中,所述网页请求为所述中间件作为浏览器的代理向所述目标网站发送的请求;抽取所述网页的代码中用于生成内容数据的代码块,并基于预设的网页模板,将所述代码块整合到所述网页的转码页中,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;向所述浏览器发送所述转码页,以使所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的所述代码块,以生成所述网页的内容数据。此外,还使得该装置:接收为所述浏览器代理网页请求的中间件发送的转码页,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据。
在本公开的各种实施方式中所使用的表述“第一”、“第二”、“所述第一”或“所述第二”可修饰各种部件而与顺序和/或重要性无关,但是这些表述不限制相应部件。以上表述仅配置为将元件与其它元件区分开的目的。例如,第一用户设备和第二用户设备表示不同的用户设备,虽然两者均是用户设备。例如,在不背离本公开的范围的前提下,第一元件可称作第二元件,类似地,第二元件可称作第一元件。
当一个元件(例如,第一元件)称为与另一元件(例如,第二元件)“(可操作地或可通信地)联接”或“(可操作地或可通信地)联接至”另一元件(例如,第二元件)或“连接至”另一元件(例如,第二元件)时,应理解为该一个元件直接连接至该另一元件或者该一个元件经由又一个元件(例如,第三元件)间接连接至该另一个元件。相反,可理解,当元件(例如,第一元件)称为“直接连接”或“直接联接”至另一元件(第二元件)时,则没有元件(例如,第三元件)插入在这两者之间。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
1.一种内容数据的生成方法,其特征在于,所述方法包括:
中间件接收目标网站根据网页请求返回的网页,其中,所述网页请求为所述中间件作为浏览器的代理向所述目标网站发送的请求;
所述中间件抽取所述网页的代码中用于生成内容数据的代码块,并基于预设的网页模板,将所述代码块整合到所述网页的转码页中,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;
所述中间件向所述浏览器发送所述转码页,以使所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的所述代码块,以生成所述网页的内容数据。
2.根据权利要求1所述的方法,其特征在于,所述代码块包括所述网页的代码中用于生成内容数据的脚本标签,
所述中间件抽取所述网页的代码中用于生成内容数据的代码块,包括:
所述中间件抽取所述网页的代码中所有的脚本标签,并对所述脚本标签执行筛选操作,确定所述用于生成内容数据的脚本标签。
3.根据权利要求2所述的方法,其特征在于,所述中间件对所述脚本标签执行筛选操作,确定所述用于生成内容数据的脚本标签,包括:
所述中间件对所述脚本标签进行排列组合,确定不同的脚本标签的组合;
所述中间件针对不同的脚本标签的组合执行筛选操作,确定用于生成内容数据的脚本标签的组合。
4.根据权利要求3所述的方法,其特征在于,所述中间件针对不同的脚本标签的组合执行筛选操作,确定用于生成内容数据的脚本标签的组合,包括:
所述中间件针对每个组合的脚本标签,将脚本标签插入到独立的内联框架标签中执行,以生成相应的内容数据,并确定生成的内容数据的数量;
所述中间件基于每个组合的脚本标签的数量和每个组合的脚本标签生成的内容数据的数量,确定最优的脚本标签的组合;
所述中间件确定所述最优的脚本标签的组合为所述用于生成内容数据的脚本标签的组合。
5.根据权利要求4所述的方法,其特征在于,所述中间件确定生成的内容数据的数量,包括:
所述中间件在将脚本标签插入到独立的内联框架标签中执行之后,遍历所述独立的内联框架标签中的主体节点下的孩子节点,并确定满足设定条件的孩子节点为内容数据节点;
所述中间件基于所述内容数据节点的数量,确定生成的内容数据的数量,
其中,所述设定条件包括以下中的至少一者:所述孩子节点的子孙节点具有显示的图像、所述孩子节点的子孙节点具有的显示的图像的最大宽度等于或大于所述独立的内联框架标签定义的宽度与预设比例的乘积、所述孩子节点的子孙节点具有的显示的图像的最大高度等于或大于预设值。
6.一种内容数据的生成方法,其特征在于,所述方法包括:
浏览器接收为所述浏览器代理网页请求的中间件发送的转码页,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;
所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据。
7.根据权利要求6所述的方法,其特征在于,所述代码块包括所述原始网页的代码中用于生成内容数据的脚本标签,
所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据,包括:
所述浏览器将所述脚本标签插入到所述内容数据生成层对应的内联框架标签中执行;
所述浏览器遍历所述内联框架标签中的主体节点下的孩子节点,并确定满足设定条件的孩子节点为内容数据节点;
所述浏览器基于所述内容数据节点,生成所述转码页对应的原始网页的内容数据,
其中,所述设定条件包括以下中的至少一者:所述设定条件包括以下中的至少一者:所述孩子节点的子孙节点具有显示的图像、所述孩子节点的子孙节点具有的显示的图像的最大宽度等于或大于所述独立的内联框架标签定义的宽度与预设比例的乘积、所述孩子节点的子孙节点具有的显示的图像的最大高度等于或大于预设值。
8.根据权利要求7所述的方法,其特征在于,所述浏览器生成所述转码页对应的原始网页的内容数据之后,所述方法还包括:
所述浏览器在所述转码页的转码内容层中展示所述内容数据。
9.根据权利要求8所述的方法,其特征在于,所述浏览器在所述转码页的转码内容层中展示所述内容数据,包括:
所述浏览器在所述内容数据节点中抽取用于所述内容数据展示的内容体;
所述浏览器基于所述内容数据节点的确定顺序,将所述内容数据节点与所述转码页的转码内容层中的内容数据展示位置关联;
所述浏览器在所述内容数据展示位置展示在与所述内容数据展示位置关联的内容数据节点中抽取的所述内容体。
10.一种内容数据的生成装置,其特征在于,所述装置包括:
第一接收模块,用于接收目标网站根据网页请求返回的网页,其中,所述网页请求为所述中间件作为浏览器的代理向所述目标网站发送的请求;
第一抽取模块,用于抽取所述网页的代码中用于生成内容数据的代码块;
整合模块,用于基于预设的网页模板,将所述代码块整合到所述网页的转码页中,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;
发送模块,用于向所述浏览器发送所述转码页,以使所述浏览器在所述转码页的所述内容数据生成层中执行整合到所述转码页中的所述代码块,以生成所述网页的内容数据。
11.根据权利要求10所述的装置,其特征在于,所述代码块包括所述网页的代码中用于生成内容数据的脚本标签,
所述第一抽取模块,包括:
第二抽取模块,用于抽取所述网页的代码中所有的脚本标签;
第一筛选模块,用于对所述脚本标签执行筛选操作,确定所述用于生成内容数据的脚本标签。
12.根据权利要求11所述的装置,其特征在于,所述第一筛选模块,包括:
排列组合模块,用于对所述脚本标签进行排列组合,确定不同的脚本标签的组合;
第二筛选模块,用于针对不同的脚本标签的组合执行筛选操作,确定用于生成内容数据的脚本标签的组合。
13.根据权利要求12所述的装置,其特征在于,所述第二筛选模块,包括:
第一确定模块,用于针对每个组合的脚本标签,将脚本标签插入到独立的内联框架标签中执行,以生成相应的内容数据,并确定生成的内容数据的数量;
第二确定模块,用于基于每个组合的脚本标签的数量和每个组合的脚本标签生成的内容数据的数量,确定最优的脚本标签的组合;
第三确定模块,用于确定所述最优的脚本标签的组合为所述用于生成内容数据的脚本标签的组合。
14.根据权利要求13所述的装置,其特征在于,所述第一确定模块,具体用于:
在将脚本标签插入到独立的内联框架标签中执行之后,遍历所述独立的内联框架标签中的主体节点下的孩子节点,并确定满足设定条件的孩子节点为内容数据节点;
基于所述内容数据节点的数量,确定生成的内容数据的数量,
其中,所述设定条件包括以下中的至少一者:所述孩子节点的子孙节点具有显示的图像、所述孩子节点的子孙节点具有的显示的图像的最大宽度等于或大于所述独立的内联框架标签定义的宽度与预设比例的乘积、所述孩子节点的子孙节点具有的显示的图像的最大高度等于或大于预设值。
15.一种内容数据的生成装置,其特征在于,所述装置包括:
第二接收模块,用于接收为所述浏览器代理网页请求的中间件发送的转码页,所述转码页包括为所述转码页的转码内容层配置的内容数据生成层;
执行模块,用于在所述转码页的所述内容数据生成层中执行整合到所述转码页中的用于生成内容数据的代码块,以生成所述转码页对应的原始网页的内容数据。
16.根据权利要求15所述的装置,其特征在于,所述代码块包括所述原始网页的代码中用于生成内容数据的脚本标签,
所述执行模块,具体用于:
将所述脚本标签插入到所述内容数据生成层对应的内联框架标签中执行;
遍历所述内联框架标签中的主体节点下的孩子节点,并确定满足设定条件的孩子节点为内容数据节点;
基于所述内容数据节点,生成所述转码页对应的原始网页的内容数据,
其中,所述设定条件包括以下中的至少一者:所述孩子节点的子孙节点具有显示的图像、所述孩子节点的子孙节点具有的显示的图像的最大宽度等于或大于所述独立的内联框架标签定义的宽度与预设比例的乘积、所述孩子节点的子孙节点具有的显示的图像的最大高度等于或大于预设值。
17.根据权利要求16所述的装置,其特征在于,所述执行模块之后,所述装置还包括:
展示模块,用于在所述转码页的转码内容层中展示所述内容数据。
18.根据权利要求17所述的装置,其特征在于,所述展示模块,具体用于:
在所述内容数据节点中抽取用于所述内容数据展示的内容体;
基于所述内容数据节点的确定顺序,将所述内容数据节点与所述转码页的转码内容层中的内容数据展示位置关联;
在所述内容数据展示位置展示在与所述内容数据展示位置关联的内容数据节点中抽取的所述内容体。
19.一种电子设备,包括:
一个或多个处理器;
计算机可读介质,配置为存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任意一项权利要求所述的内容数据的生成方法,或者实现如权利要求6-9中任意一项权利要求所述的内容数据的生成方法。
20.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任意一项权利要求所述的内容数据的生成方法,或者实现如权利要求6-9中任意一项权利要求所述的内容数据的生成方法。
技术总结