本发明专利技术公开了一种可公开的通用视频抓取方法,包括S1、安装并运行支持H.264解码的chromi um浏览器;启用chromi um浏览器的开发模式,安装视频抓取插件;S2、启动数据库和消息中间件服务,初始化本地用户配置目录池状态;S3、启动视频抓取调度服务和接口层服务;S4、从客户端发起基于HTTP协议的视频数据抓取请求到接口层;S5、接口层将视频数据抓取请求转发至视频抓取调度服务,视频抓取调度服务启动chromi um浏览器进程,加载视频抓取插件,打开视频片段页面的地址;视频抓取插件从视频片段页面注入和执行Javascr i pt代码,完成自动点击播放视频片段等内容。优点是:能够抓取各类主流媒体格式的视频数据,并能够根据过滤规则剔除广告,合并转码流媒体视频,降低视频抓取难度。难度。难度。
【技术实现步骤摘要】
一种可公开的通用视频抓取方法
[0001]本专利技术涉及爬虫抓取
,尤其涉及一种可公开的通用视频抓取方法。
技术介绍
[0002]随着互联网技术日益进步,短视频、小视频等新颖媒体形式的普及,带动了信息传播力和影响力,各种视频类数据将是新闻融媒产品的重要组成部分。传统视频数据抓取是建立在网页源码抓取和解析上,对于Html5流媒体等新技术来说显得捉襟见肘,同时各类网站和App的数据抓取和解析的工作量也非常巨大,需要一种新的视频抓取方法来解决这个难题。
技术实现思路
[0003]本专利技术的目的在于提供一种可公开的通用视频抓取方法,从而解决现有技术中存在的前述问题。
[0004]为了实现上述目的,本专利技术采用的技术方案如下:
[0005]一种可公开的通用视频抓取方法,包括如下步骤,
[0006]S1、安装并运行支持H.264解码的chromium浏览器;启用chromium浏览器的开发模式,安装视频抓取插件;
[0007]S2、启动数据库和消息中间件服务,初始化本地用户配置目录池状态;
[0008]S3、启动视频抓取调度服务和接口层服务;
[0009]S4、从客户端发起基于HTTP协议的视频数据抓取请求到接口层;
[0010]S5、接口层将视频数据抓取请求转发至视频抓取调度服务,视频抓取调度服务启动chromium浏览器进程,加载视频抓取插件,打开视频片段页面的地址;视频抓取插件从视频片段页面注入和执行Javascript代码,完成自动点击播放视频片段;视频片段开始播放后,视频抓取插件通过截获HTTP网络应答数据头部的字段值获取视频片段的播放地址、类型、大小和标题信息,并将视频片段的信息反馈给视频抓取调度服务;视频抓取调度服务根据视频片段的信息过滤并合并相应的视频片段生成视频数据,将视频数据持久化到数据库并通过接口层反馈至客户端,完成对视频数据的抓取。
[0011]优选的,将视频抓取插件的代码和浏览器的环境配置打包成用户配置模板数据,在视频抓取调度服务启动时,将用户配置模板数据拷贝出若干份用户配置数据,并在消息中间件服务中保存使用状态记录,用于解决多并发请求情况下每个视频数据抓取请求能独立运行,互不影响。
[0012]优选的,步骤S5具体包括如下内容,
[0013]S51、接口层将视频数据抓取请求转发至视频抓取调度服务;
[0014]S52、视频抓取调度服务启动chromium浏览器进程,指定包含相关视频抓取插件的临时用户数据目录,加载相应视频抓取插件,打开视频片段页面的地址;
[0015]S53、在视频片段页面开始加载时注入Javascript代码,设置该视频片段的请求上
下文信息;在视频片段页面开始加载后触发自动播放,自动点击播放按钮或者查找Video标签对象,利用autoplay方法来播放视频片段;
[0016]S54、视频片段页面加载完成后,由注入视频片段页面的Javascript代码触发消息,通知视频抓取插件的内容页Javascript脚本,获得该视频片段的请求上下文信息,视频抓取插件的内容页Javascript脚本通知视频抓取插件的背景页Javascript脚本,保存该视频片段的请求上下文信息;
[0017]S55、基于该视频片段的请求上下文信息,视频抓取插件的背景页Javascript脚本从HTTP网络应答数据头部中解析和嗅探该视频片段的类型、大小和标题信息;
[0018]S56、视频抓取插件向视频抓取调度服务发送HTTP的POST请求,视频抓取调度服务根据视频片段的信息对相应的视频片段进行过滤和合并生成视频数据,将视频数据持久化到数据库并返回至接口层;
[0019]S57、接口层将视频数据返回至客户端,完成对该视频数据的抓取。
[0020]优选的,所述视频片段的请求上下文信息即为相应视频片段的抓取任务ID。
[0021]优选的,利用HTTP网络应答数据头部content
‑
type字段值与预先配置的音频视频分类进行匹配,判断该视频片段是音频还是视频,若该视频片段是音频,则过滤掉并进行下一视频片段的类型判断;若该视频片段是视频,则获取该视频片段的地址、类型、大小和标题。
[0022]优选的,视频抓取调度服务根据视频片段的信息对相应的视频片段进行过滤和合并生成视频数据的具体过程为,
[0023]根据预先配置的过滤规则匹配和筛选视频片段中广告格式的视频片段,将广告格式的视频片段剔除,保留正片格式的视频片段;将所有正片格式的视频片段通过ffmpeg库进行合并转码,生成视频数据。
[0024]优选的,预先配置的过滤规则为包含有网站域名、广告视频格式、内容识别格式和广告等待市场的字典信息。
[0025]优选的,利用HTTP网络应答数据头部content
‑
disposition字段值与预先配置的视频类型进行匹配,获取视频片段的类型。
[0026]优选的,预先配置的视频类型包括flv、f4v、mp3、mp4、m3u8、ts、m4s、wav、ogg、ogv和webm。
[0027]优选的,利用HTTP网络应答数据头部Content
‑
Length字段值获取视频片段的大小。
[0028]本专利技术的有益效果是:能够利用视频抓取插件自动分子和播放视频以抓取各类主流媒体格式的视频数据,并能够根据过滤规则剔除广告,合并转码流媒体视频,降低视频抓取难度。
附图说明
[0029]图1是本专利技术实施例中抓取方法的流程示意图;
[0030]图2是本专利技术实施例中视频抓取的时序图;
[0031]图3是本专利技术实施例中视频抓取Python后端架构图。
具体实施方式
[0032]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不用于限定本专利技术。
[0033]如图1至图3所示,本实施例中,提供了一种可公开的通用视频抓取方法,包括如下步骤,
[0034]S1、安装并运行支持H.264解码的chromium浏览器;启用chromium浏览器的开发模式,安装视频抓取插件;
[0035]S2、启动数据库和消息中间件服务,初始化本地用户配置目录池状态;
[0036]S3、启动视频抓取调度服务和接口层服务;
[0037]S4、从客户端发起基于HTTP协议的视频数据抓取请求到接口层;
[0038]S5、接口层将视频数据抓取请求转发至视频抓取调度服务,视频抓取调度服务启动chromium浏览器进程,加载视频抓取插件,打开视频片段页面的地址;视频抓取插件从视频片段页面注入和执行Javascript代码,完成自动点击播放视频片段;视频片段开始播放后,视频抓取插件通过截获HTTP网络应答数据头部的字段值获取视频片段的播放地址、类型、大小和标题信息,并本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种可公开的通用视频抓取方法,其特征在于:包括如下步骤,S1、安装并运行支持H.264解码的chromium浏览器;启用chromium浏览器的开发模式,安装视频抓取插件;S2、启动数据库和消息中间件服务,初始化本地用户配置目录池状态;S3、启动视频抓取调度服务和接口层服务;S4、从客户端发起基于HTTP协议的视频数据抓取请求到接口层;S5、接口层将视频数据抓取请求转发至视频抓取调度服务,视频抓取调度服务启动chromium浏览器进程,加载视频抓取插件,打开视频片段页面的地址;视频抓取插件从视频片段页面注入和执行Javascript代码,完成自动点击播放视频片段;视频片段开始播放后,视频抓取插件通过截获HTTP网络应答数据头部的字段值获取视频片段的播放地址、类型、大小和标题信息,并将视频片段的信息反馈给视频抓取调度服务;视频抓取调度服务根据视频片段的信息过滤并合并相应的视频片段生成视频数据,将视频数据持久化到数据库并通过接口层反馈至客户端,完成对视频数据的抓取。2.根据权利要求1所述的可公开的通用视频抓取方法,其特征在于:将视频抓取插件的代码和浏览器的环境配置打包成用户配置模板数据,在视频抓取调度服务启动时,将用户配置模板数据拷贝出若干份用户配置数据,并在消息中间件服务中保存使用状态记录,用于解决多并发请求情况下每个视频数据抓取请求能独立运行,互不影响。3.根据权利要求1所述的可公开的通用视频抓取方法,其特征在于:步骤S5具体包括如下内容,S51、接口层将视频数据抓取请求转发至视频抓取调度服务;S52、视频抓取调度服务启动chromium浏览器进程,指定包含相关视频抓取插件的临时用户数据目录,加载相应视频抓取插件,打开视频片段页面的地址;S53、在视频片段页面开始加载时注入Javascript代码,设置该视频片段的请求上下文信息;在视频片段页面开始加载后触发自动播放,自动点击播放按钮或者查找Video标签对象,利用autoplay方法来播放视频片段;S54、视频片段页面加载完成后,由注入视频片段页面的Javascript代码触发消息,通知视频抓取插件的内容页Javascript脚本,获得该视频片段的请求上下文信息,视频抓取插件的内容页Javascript脚本通知视频抓取插件的背景页Javascript脚本,保存该视...
【专利技术属性】
技术研发人员:宋玉彬,战科宇,张建民,李重辉,
申请(专利权)人:中国搜索信息科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。