论文部分内容阅读
随着计算机技术的高速发展和互联网的广泛普及,互联网上信息量爆发式激增甚至过载,过载的信息量提高了用户的信息筛选难度,视频网站便是其中典型的例子。随着视频网站越来越多,视频版权制度越来越完善,大多数视频网站无法购买到所有视频的播放授权,而这也同时给互联网用户提出了难题,互联网用户常常无法在同一家视频网站看到自己想看的所有视频内容。于是面向视频网站的内容聚合需求便应运而生。面向视频网站的内容聚合需要爬虫系统为其提供最基本的数据支持。本文针对爬虫系统遇到的视频网站改版导致爬虫失效、爬虫失效后不能及时感知、以及对失效的爬虫进行修复时可读性差和维护成本高等问题,通过对目前国内主流的视频网站的共性和特点进行分析,设计和实现了面向视频网站的自感知通用爬虫系统。第一,针对视频网站设计了深度定制的XML模板标签语言,以表达各家网站视频业务的抽取逻辑,并实现了相应的模板解释器以对XML抽取模板进行解释执行;第二,基于Scrapy爬虫系统,在爬虫系统的各个环节插入数据收集逻辑;第三,在爬虫系统执行完成对本次爬虫系统产生的中间数据和入库的数据进行统计和分析,通过数据的统计分析,得出爬虫系统的数据规律,在一定程度上感知爬虫系统是否存在失效。此外,本文还实现了失效地址的探测子系统,通过模拟视频内容请求流程,来扫描数据库中的哪些视频信息属于无法播放的失效视频,并进行标记。最后,本文对上述设计和实现进行了实验,得出了视频抓取量的变化规律,验证了爬虫系统模板化通用抽取的可用性,以及数据统计分析和异常感知在一定程度上的有效性。