首页> 中国专利> 一种互联网视听节目地址自动化解析方法及系统

一种互联网视听节目地址自动化解析方法及系统

摘要

本发明公开了一种互联网视听节目地址自动化解析方法及系统,基于服务对浏览器窗口进行编排,浏览器不限于开源或者闭源,不限制平台,驱动浏览器窗口并行加载节目,配合自研解析引擎,在浏览器窗口获取到对应节目请求的响应内容,将响应内容按照适配的规则进行解析,获取到节目视频的真实地址,通过引擎将真实地址回推给服务,服务将真实地址交由下载器进行下载。

著录项

  • 公开/公告号CN115002068A

    专利类型发明专利

  • 公开/公告日2022-09-02

    原文格式PDF

  • 申请/专利权人 北京市博汇科技股份有限公司;

    申请/专利号CN202210499616.2

  • 申请日2022-05-09

  • 分类号H04L61/103(2022.01);H04L67/02(2022.01);H04L67/51(2022.01);H04L67/60(2022.01);

  • 代理机构北京知呱呱知识产权代理有限公司 11577;

  • 代理人郑兴旺

  • 地址 100000 北京市海淀区丰贤中路7号(孵化楼)5层501

  • 入库时间 2023-06-19 16:46:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-20

    实质审查的生效 IPC(主分类):H04L61/103 专利申请号:2022104996162 申请日:20220509

    实质审查的生效

  • 2022-09-02

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及互联网技术领域,具体涉及一种互联网视听节目地址自动化解析方法及系统。

背景技术

现有互联网视听节目地址解析主要有以下方案:方案一、通过对网站的请求进行抓包分析,需要人工解析网页中节目真实地址或者解析节目地址所需要携带的内容(比如请求头或者网站生成的一些混淆参数),然后形成逻辑,交由服务去自动化执行解析;方案二、基于开源windows浏览器内核进行视频地址解析,借助浏览器开放的API接口,通过操控浏览器的API接口来解析视频地址。

目前方案一的方法只适用于一些规模较小的网站,针对一些规模较大的网站,比如爱奇艺、腾讯视频,对于视频地址的加密极其其严格,仅通过人为抓包分析是很难解析出其真实地址,尤其是请求所需的混淆参数。方案二的方法只能在Windows平台运行,并且由于是基于开源的浏览器内核,因此会出现版本的升级,就可能会出现API接口的变更,就需要人为去跟踪浏览器的版本升级迭代内容,对应调整自身的应用程序。

发明内容

为此,本发明提供一种互联网视听节目地址自动化解析方法及系统,以解决现有的互联网视听节目地址解析方案存在的通过人为抓包分析很难解析出其真实地址、基于开源windows浏览器内核进行视频地址解析需要人为去跟踪浏览器的版本升级迭代内容,对应调整自身的应用程序的问题。

为了实现上述目的,本发明提供如下技术方案:

根据本发明实施例的第一方面,提出了一种互联网视听节目地址自动化解析方法,所述方法包括:

在浏览器端加载视听节目地址解析引擎;

接收请求方发起的视听节目请求,启动浏览器窗口调用所述请求中包含的节目地址以向响应方发起节目请求;

通过所述解析引擎获取响应方发送的所述请求的响应结果,并根据预设解析规则对所述响应结果进行地址解析,获取视听节目真实地址,将解析结果返回给请求方。

进一步地,所述方法还包括:

驱动浏览器启动多个空闲窗口并放入窗口池,所述窗口池用于窗口实例的存/取操作及状态维护;

解析操作时,从所述窗口池中获取空闲窗口向响应方进行请求。

进一步地,所述方法还包括:

对当前使用的窗口进行锁定以防止被其他请求误用;

解析操作完成后将浏览器窗口放回窗口池以供其它请求再次使用。

进一步地,所述方法还包括:

通过所述解析引擎对接入浏览器的所有请求进行提取,匹配内置的解析适配规则,判断请求是否需要进行地址解析,针对需要进行地址解析的请求,获取其响应内容并根据配置的解析规则进行地址解析。

进一步地,所述方法还包括:

通过抓包对不同网站视频规则进行分析和适配,将规则内置入引擎脚本。

进一步地,所述方法还包括:

基于服务实现驱动浏览器载入解析引擎载入、浏览器窗口的获取和归还、获取引擎的解析结果并返回给请求方。

进一步地,所述方法还包括:

在非Windows系统的浏览器中,基于容器化技术中模拟出Windows环境以进行地址解析。

进一步地,所述方法还包括:

使用自动化工具selenium来驱动浏览器以及在窗口地址栏输入节目地址,发起节目请求。

根据本发明实施例的第二方面,提出了一种互联网视听节目地址自动化解析系统,所述系统包括:

初始化模块,用于在浏览器端加载视听节目地址解析引擎;

浏览器窗口请求模块,用于接收请求方发起的视听节目请求,启动浏览器窗口调用所述请求中包含的节目地址以向响应方发起节目请求;

地址解析模块,用于通过所述解析引擎获取响应方发送的所述请求的响应结果,并根据预设解析规则对所述响应结果进行地址解析,获取视听节目真实地址,将解析结果返回给请求方。

本发明具有如下优点:

1、基于浏览器视听节目地址解析引擎,直接跳过了服务生成请求所需参数或者定位网页元素的步骤,引擎只需要获取请求的结果即可,比起原有一些处理方式更加有效,另一方面不限于浏览器的版本及运行平台包括但不限于Windows和Linux,在这些目前主流的平台均可运行;

2、将服务、浏览器及引擎脚本整合到一起,实现整个流程的自动化,既提高了节目地址的解析效率和成功率,又减少了原有对整个视听网站请求参数分析的人力成本;

3、由于一些大站,比如爱奇艺、腾讯视频,对于视频地址的隐藏和请求参数的混淆极其严重,现有部分技术如果解析这种网站会耗费大量的时间成本,并且一旦网站的混淆策略调整,那所有的工作将前功尽弃,而本发明则绕过了这些工作,直接把这部分工作交给了浏览器完成,只需要获取请求结果,对结果进行解析即可。

附图说明

为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。

图1为本发明实施例1提供的一种互联网视听节目地址自动化解析方法的流程示意图;

图2为本发明实施例1提供的一种互联网视听节目地址自动化解析方法的网络架构示意图;

图3为本发明实施例1提供的一种互联网视听节目地址自动化解析方法中解析引擎工作流程示意图;

图4为本发明实施例1提供的一种互联网视听节目地址自动化解析方法中解析适配规则示例;

图5为本发明实施例1提供的一种互联网视听节目地址自动化解析方法中服务及浏览器协作技术实现流程示意图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,本实施例提出了一种互联网视听节目地址自动化解析方法,所述方法包括:

S100、在浏览器端加载视听节目地址解析引擎;

S200、接收请求方发起的视听节目请求,启动浏览器窗口调用所述请求中包含的节目地址以向响应方发起节目请求;

S300、通过所述解析引擎获取响应方发送的所述请求的响应结果,并根据预设解析规则对所述响应结果进行地址解析,获取视听节目真实地址,将解析结果返回给请求方。

本实施例基于服务对浏览器窗口进行编排,浏览器不限于开源或者闭源,不限制平台,驱动浏览器窗口并行加载节目,配合自研解析引擎,在浏览器窗口获取到对应节目请求的响应内容,将响应内容按照适配的规则进行解析,获取到节目视频的真实地址,通过引擎将真实地址回推给服务,服务将真实地址交由下载器进行下载。系统网络架构如图2所示。

由于所有的节目最终都会展示在浏览器端,本技术则跳过服务生成请求所需参数或者定位网页元素的步骤,通过服务控制浏览器直接请求节目地址,引擎获取请求响应内容即可,对浏览器的类型、版本均无要求,能访问网页即可。

1、跨平台运行实现:

大部分网站只支持Windows下浏览器的访问,因此针对于非Windows平台的环境,原有技术显得十分无力,因此本实施例便针对其他(主要为Linux平台)平台环境进行适配,适配工作为通过容器技术启动内置Windows,模拟Windows场景,此工作主要是为了“欺骗”浏览器当前环境为Windows,以便浏览器在发起请求时调整对应请求参数,达到类Windows平台的请求环境。

本实施例支持基于浏览器解析的跨平台化,由于目前的解析技术大多受限于网站,大部分网站只支持Windows平台的访问,因此通过在Linux上模拟Windows后实现跨平台运行(本技术是基于Docker的容器化技术,只是将本技术与容器化技术进行了结合创新,创新点不在于服务的跨平台,而是将视频地址解析技术的跨平台)。

2、浏览器视频地址解析引擎的实现:

浏览器视频地址解析引擎,主要是通过浏览器插件,加载可执行的逻辑单元,逻辑单元中针对需要解析的网址进行规则适配,比如访问整个页面时需要解析的请求地址格式以及针对请求的返回结构进行拆解,获取到真实的节目地址。解析引擎的工作流程如图3所示:

浏览器视频地址解析引擎所述方法包括:

(1)浏览器视频地址解析引擎启动看护进程对接入浏览器的所有请求进行提取,匹配内置的解析适配规则,判断是否为需要解析的请求,针对需要解析的请求,对请求的响应内容根据配置的解析规则进行解析;

(2)解析适配规则:前期需要通过抓包对不同网站视频规则分析和适配,将规则内置入引擎脚本,以方便完成后续整个流程的自动化;

(3)解析适配的规则包括:

网站地址的格式(如www.iqiyi.com):用于引擎判断该请求是否需要解析,部分规则如图4所示;

请求响应内容的格式(如json格式):用于引擎通过响应内容解析出视频的真实地址。

(4)需要浏览器视频地址解析引擎获取到节目的真实地址后,通过消息队列、http或者回调函数将结果推送给接收结果的服务端,供后续进行节目的下载工作。

3、服务及浏览器协作技术:

服务及浏览器协作技术,主要是通过服务驱动浏览器加载视频地址解析引擎以及控制浏览器对待解析节目的访问及中断,同时包括浏览器整个生命周期的管理以及不同浏览器窗口之间工作的协作控制,服务及浏览器协作技术的实现流程如图5所示。

服务及浏览器协作技术方法包括:

(1)基于服务将浏览器视频地址解析引擎载入浏览器,同时启动引擎请求看护,为实现全流程自动化,因此在初始化时驱动起浏览器窗口后,服务会通过定位浏览器标签操控浏览器将视频地址解析引擎载入到浏览器中,解决了每次都需要人工干预添加引擎脚本的工作;

(2)预热启动浏览器窗口,并将窗口实例放入窗口池中,抽象出用于管理浏览器窗口的窗口池,用于窗口实例的存/取操作及状态维护;

由于浏览器窗口只能同时访问一个网页,但是实际情况会同时有N个节目需要解析,因此服务会驱动浏览器启动N个实例窗口,并且实例窗口的个数会根据服务器的CPU核数进行自动调整,这一方式解决了解析效率低下问题;

但衍生出另一个问题,就是对实例窗口的状态维护,由于受网络及服务器配置因素影响,可能请求会有延迟,因此需要在窗口工作时将该窗口锁定,防止其他请求将窗口工作覆盖,便抽象出了用于管理浏览器窗口的窗口池。

(3)启动解析结果监听线程,因服务与解析引擎是两个模块,因此需要启动专门用于接收结果的线程,接收到结果后还要与服务的驱动浏览器线程进行通信,通知解析结果以结束此次解析流程,将浏览器窗口放回窗口池以供其它请求再次使用。

(4)本实施例使用了selenium自动化工具,来驱动浏览器以及请求的调用,是一个用于Web应用程序测试的工具,就像真正的用户在操作一样,比如点击,滑动,输入文字等,因此就可以把调用浏览器API来驱动浏览器改为使用selenium去打开浏览器(窗口池预热),在解析阶段服务就负责告诉selenium需要使用哪个窗口,然后调用selenium在地址栏输入要请求的节目地址,发起请求,这样就解决服务去调用浏览器API的问题,从而避免了开源浏览器API变更而需要人为去跟踪浏览器的版本升级迭代内容的问题。

实施例2

与上述实施例1相对应的,本实施例提出了一种互联网视听节目地址自动化解析系统,所述系统包括:

初始化模块,用于在浏览器端加载视听节目地址解析引擎;

浏览器窗口请求模块,用于接收请求方发起的视听节目请求,启动浏览器窗口调用所述请求中包含的节目地址以向响应方发起节目请求;

地址解析模块,用于通过所述解析引擎获取响应方发送的所述请求的响应结果,并根据预设解析规则对所述响应结果进行地址解析,获取视听节目真实地址,将解析结果返回给请求方。

本发明实施例提供的一种互联网视听节目地址自动化解析系统中各部件所执行的功能均已在上述实施例1中做了详细介绍,因此这里不做过多赘述。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号