1.一种面向网络视频的分布式采集方法,其特征在于,所述方法,包括下列步骤:步骤100,利用预先定制的正则表达式与每一个视频网页的统一资源定位符进行匹配,识别出可能包含视频的网页;步骤200,从视频网站并行下载所述可能包含视频的网页,分别对下载的所述可能包含视频的网页进行网页结构分析,识别出有效的视频网页的链接地址,并将所述网页结构分析结果合并后存储;步骤300,根据所述有效的视频网页的链接地址,获取所述有效的视频网页中隐藏的视频的链接地址,并分析所述视频的链接地址以获取真实的视频的链接地址,下载并存储所述真实的视频的链接地址对应的视频。
2.根据权利要求1所述的面向网络视频的分布式采集方法,其特征在于,所述步骤200,包括下列步骤:步骤210,通过与视频网站的HTTP链接获取网页数据流,并行下载所述可能包含视频的网页;步骤220,利用开源工具对所述可能包含视频的网页进行解析,形成半结构化的HTML数据格式,识别出有效的视频网页的链接地址;步骤230,将每个节点解析出的包含网页自身信息和其中的链接数据的信息,分发给其他节点,并接收来自其他节点的信息;步骤240,将所有视频网页的信息按照被采集链接的统一资源定位符的MD5值排序后存储。
3.根据权利要求2所述的面向网络视频的分布式采集方法,其特征在于,所述步骤220,包括下列步骤:步骤221,将利用开源工具解析出的链接信息再次与预先设定的视频网站统一资源定位符的正则表达式进行匹配,识别出有效的视频网页的链接地址;步骤222,分析采集到的网页的页面内容的MD5值,判断哪些网页虽然链接地址不同但是视频内容重复,忽略被判断为内容重复的网页;
4.根据权利要求2所述的面向网络视频的分布式采集方法,其特征在于,所述步骤230,包括下列步骤:步骤231.所述节点将采集的链接数据按照定位二叉树机制,以采集的链接的统一资源定位符为键值分发到对应的其他节点上;步骤232.所述节点还将可能含有视频的网页的链接根据定位二叉树发送到相应的其他节点,为视频下载提供数据源。
5.根据权利要求2所述的面向网络视频的分布式采集方法,其特征在于,步骤240中,所述存储分为:磁盘数据的存储,是将采集的数据存储在磁盘中,并按照被采集链接的统一资源定位符的MD5值建立一个B+树结构的索引表;数据缓存,将采集的数据缓存在内存中,通过控制每一轮采集数据的数量来控制当前采集结果的缓存的规模上限。
6.根据权利要求1所述的面向网络视频的分布式采集方法,其特征在于,所述步骤300,包括下列步骤:步骤310,通过分析所述有效的视频网页的链接的统一资源定位符或检测视频播放时的流媒体地址获取视频的链接地址;步骤320,分析获取的所述视频的链接地址的前缀和后缀以获取真实的视频的链接地址;步骤S330,根据获取到的真实的视频的链接地址,利用已有的视频下载工具下载视频并支持断点续传;步骤S340,采用4级目录的结构存储下载的视频节目。
7.根据权利要求6所述的面向网络视频的分布式采集方法,其特征在于,所述步骤320,包括下列步骤:步骤321,浏览器打开网页:利用IE浏览器打开待分析的视频网页,若内嵌的视频对象能够自动播放,在捕获浏览器接收的流媒体数据包时检测流媒体内容的扩展名,然后在扩展名之前检测特定的协议头标识,从协议头标识到扩展名之间的字符串中获取流媒体链接地址,获取完流媒体地址后自动关闭该浏览器进程;若不能获取视频地址,则会设置响应时间,若在响应时间内仍不能获取地址,则转入步骤322;步骤322,模拟点击播放:在超过步骤321中设置的响应时间后,通过HTML解析器定位到网页中内嵌的object对象和embed对象所在的节点,获取该节点在客户端窗口中的坐标,并模拟用户在该视频窗口中的点击行为,使得视频开始播放,从而获取流媒体地址;同样设置响应时间,若仍不能获取视频地址,则认为该视频下载失败。
8.根据权利要求6所述的面向网络视频的分布式采集方法,其特征在于,所述步骤330中,所述下载是采用视频下载断点恢复机制,在下载的过程中出现中断情况时,从上次下载的结束处继续下载,以节省带宽资源,提高网络利用率。
9.根据权利要求2或6所述的面向网络视频的分布式采集方法,其特征在于,步骤240或300中,对视频网页的信息存储或是对视频文件的存储都是利用Hadoop中的分布式存储系统将磁盘数据同时复制到多个节点上,其中所有数据都以块的形式进行存储;如果一个块损坏了,可以很快的对这个块的数据进行恢复。
10.一种面向网络视频的分布式采集系统,其特征在于,所述系统,包括:多个网页采集节点,通过并行采集网站的网页信息,利用预先定制的正则表达式与页面的统一资源定位符进行匹配,识别并下载所述可能包含视频的网页,分别对下载的所述可能包含视频的网页进行网页结构分析,识别出有效的视频网页的链接地址,并将所述有效的视频网页结构分析结果合并后存储;多个视频采集节点,根据所述有效的视频网页的链接地址,获取所述有效的视频网页中隐藏的视频的链接地址,并分析所述视频的链接地址以获取真实的视频的链接地址,下载并存储所述真实的视频的链接地址对应的视频;一个控制节点,负责管理所有所述视频网页采集节点和视频采集节点,调度所述分布式采集系统的运行。
11.根据权利要求10所述的面向网络视频的分布式采集系统,其特征在于,所述网页采集节点,包括:网页识别模块,用于采集网站的网页信息,并利用预先定制的正则表达式与采集的网页的统一资源定位符进行匹配,识别出可能包含视频的网页;网页下载模块,通过与视频网站的HTTP链接获取网页数据流,并行下载所述可能包含视频的网页;网页分析模块,对所述可能包含视频的网页进行解析,形成半结构化的HTML数据格式,识别出有效的视频网页的链接地址;网页信息汇聚模块,用于将其解析出的包含网页自身信息和其中的链接数据的信息,分发给其他网页采集节点和视频采集节点,并接收来自其他网页采集节点的信息;网页信息存储模块,用于将所有所述信息按照被采集网页的链接的统一资源定位符的MD5值排序后存储。
12.根据权利要求10所述的面向网络视频的分布式采集系统,其特征在于,所述视频采集节点,包括:视频地址获取模块,用于通过分析所述有效的视频网页的链接的统一资源定位符或检测视频播放时的流媒体地址获取视频的链接地址;视频地址分析模块,用于分析获取的所述视频的链接地址的前缀和后缀以获取真实的视频的链接地址;视频下载模块,用于根据获取到的真实的视频的链接地址,利用已有的视频下载工具下载视频并支持断点续传;视频存储模块,采用4级目录的结构存储下载的视频节目。
13.根据权利要求10所述的面向网络视频的分布式采集系统,其特征在于,所述控制节点,包括:节点定位管理模块,用于通过定位二叉树管理所有网页采集节点和视频采集节点;节点通讯模块,用于所有的网页采集节点和视频采集节点定期向控制节点报告当前状态;过滤模块,接收所述网页采集节点发送的MD5值,并根据所述MD5值判断哪些页面虽然链接不同但是内容重复,过滤掉那些判断为重复的页面。
14.根据权利要求11所述的面向网络视频的分布式采集系统,其特征在于,所述网页分析模块,包括:网页链接过滤模块,用于将分析出的链接信息与预先设定的网站统一资源定位符的正则表达式进行匹配,识别出有效的视频网页链接:MD5值计算模块,用于计算已经采集的网页的页面内容的MD5值,并提交给控制节点进行分析。
15.根据权利要求12所述的面向网络视频的分布式采集系统,其特征在于,所述视频地址分析模块,包括:浏览器打开模块,利用IE浏览器打开待分析的视频网页,检测流媒体内容的扩展名,获取流媒体链接地址,并设置响应时间;模拟点击播放模块,若在所述响应时间内仍不能获取地址,则通过HTML解析器定位到网页中内嵌的object对象和embed对象所在的节点,获取该节点在客户端窗口中的坐标,并模拟用户在该视频窗口中的点击行为,从而获取流媒体地址。
16.根据权利要求12所述的面向网络视频的分布式采集系统,其特征在于,所述视频下载模块,包括:视频下载子模块,用于利用已有的视频下载工具下载指定的视频节目;断点恢复模块,用于针对在下载的过程中出现的中断情况,从上次下载的结束处继续下载。
展开