论文部分内容阅读
随着Internet和信息技术的快速发展,互联网上的信息空前丰富。Web按其信息蕴藏的深度可分为Surface Web和Deep Web,Deep Web数据资源包括需要通过查询接口查询才能生成的页面和只有登录后才可查看的专有网络信息。搜索引擎的出现,一定程度上解决了查询信息的需求,但是传统搜索引擎无法索引到这些Deep Web页面。如今快速兴起的社交网站,吸引了大量的活跃网络用户,其Web信息资源更丰富并且具有很高的价值。本文分析了针对社交网络信息数据获取的框架,设计了抓取Twitter、Facebook和人人网的爬虫,并且给出了爬虫管理和数据展示的设计与实现。具体研究工作如下:1.研究了Deep Web爬虫的框架和模块设计。Deep Web包括可搜索数据库和专有网络。针对可搜索数据库,爬虫首先要发现数据源,然后对查询接口归约,再把抓取结果聚合。针对专有网络,爬虫首先要获得网站授权,然后抓取页面,再对页面进行分析,最后把结果聚合。2.设计实现了Twitter、Facebook和人人网的爬虫。Twitter爬虫的数据获取策略是首先通过OAuth认证获取Access Token,然后调用Twitter API增量抓取用户Twitter数据。Facebook爬虫,抓取策略是使用HtmlUnit登录,获得一个Access Token,然后调用Facebook Graph API增量抓取用户的新鲜事,解析返回的JSON数据并且统一格式。人人网爬虫抓取策略是使用HtmlUnit构造浏览器WebClient登录,并保存Cookie,然后使用WebClient增量抓取用户页面,解析状态和日志。经过功能测试和大规模性能测试,爬虫能够满足实际工作需要,具有稳定性和适应性。3.研究了爬虫管理系统的实现。设计了一个管理控制台和部署在每个抓取机器上的守护程序,他们通过互相通信来实现管理控制爬虫节点的任务分配与负载平衡。守护程序监视爬虫节点运行并解析普通爬虫抓取的数据入库。经过实验测试分析,管理系统能够准确完成设计的功能,并且在大规模通信和数据情况下,性能良好。4.研究了利用Flash的ActionScript2.0语言实现信息可视化效果。完成了抓取数据的可视化展示的动态饼状图。