毕业设计网站计算机专业论文范文
所属栏目:计算机网络论文
发布时间:2013-12-18 14:19:18 更新时间:2013-12-18 14:48:17
微博[1],即微型博客的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB、WAP以及各种客户端组件个人社区,以140字左右的文字更新信息,并实现即时分享。
摘要:微博已成为网络信息的重要来源,该文分析了微博信息采集的相关方法与技术,提出了基于API的信息采集方法,然后设计了一个信息采集系统,能够对新浪微博的相关信息进行采集。实验测试表明,该信息采集系统能够快速有效地采集新浪微博信息。
关键词:新浪微博,微博接口,信息采集,C#语言
中国互联网络信息中心的《第31次中国互联网络发展状况统计报告》显示,截至2012年12月底,截至2012年12月底,我国微博用户规模为3.09亿,较2011年底增长了5873万,网民中的微博用户比例较上年底提升了六个百分点,达到54.7%[2]。随着微博网络影响力的快速扩大,政府部门、学校、知名企业、社会公众人物均开通了微博。随着公众的参与,微博成为了一个强大的虚拟社会,微博已经是网络信息的重要来源,如何用于快速有效地采集微博信息已经成为一个具有重要应用价值的研究。
1研究方法与技术路线
国内的微博用户主要是新浪微博,因此本文拟以新浪微博为例,设计研究方法与技术路线。通过分析国内外的科技文献与实际应用案例,发现目前针对新浪微博的信息采集方法主要有两类:一种是“模拟登陆”、“网页爬虫”[3]、“网页内容解析”[4]三种技术结合的信息采集方法,二是基于新浪微博开放平台的API文档,开发者自行编写程序调用微博的API,进行微博信息的采集。对于第一种方法,难度比较高,研究技术复杂,特别是“模拟登陆”这个步骤,需要随时跟踪新浪微博的登陆加密算法,新浪微博的登陆加密算法的改变,就会造成“网页爬虫”的失败,最后导致采集不到微博信息。同时,“网页爬虫”采集到的网页需要进行“网页内容解析”,效率与性能相比基于API的数据采集存在明显的差距。基于以上因素,因此本文拟采用第二种方式进行研究。
基于新浪微博开放平台API文档的微博信息采集系统,主要采用了两个研究方法:文档分析法和实验测试法。文档分析法:参考新浪微博开放平台的API文档,把这些API说明文档编写为单独的接口类文件。实验测试法:在VS.NET2010平台[5],以C/S模式开发程序来调用接口类,采集微博返回的JOSN数据流,实现数据采集的相关测试与开发。
根据以上两个研究方法,设计本研究的技术路线:首先是申请新浪微博开放平台AppKey和AppSecret,审核通过之后,阅读与理解API文档,把API文档说明具体编写成API接口代码类(c#语言),然后来测试OAuth2.0的认证,通过认证之后,可以获取到AccessToken,这样就有权限来调用API的各种功能接口,然后通过POST或GET方式调用API接口,最后返回JOSN数据流,最后解析这个数据流可以保存为本地文本文件或数据库中,技术路线详细如图1所示。
2研究内容设计
微博信息采集系统功能结构图2所示,本系统被分为七个部分,分别为:微博接口认证、微博用户登录、登录用户发微博、采集当前登录用户信息、采集他人用户信息、采集他人用户微薄、采集学校信息、采集微博信息内容。
1)微博接口认证:新浪微博大部分API的访问如发表微博、获取私信,关注都需要用户身份,目前新浪微博开放平台用户身份鉴权有OAuth2.0和BasicAuth(仅用于应用所属开发者调试接口),新版接口也仅支持这两种方式[6]。所以系统设计与开发的第一步,需要做一个微博接口认证功能。
2)微博用户登录:通过认证之后,在新浪微博注册过的用户都可以在本系统登录,并可以通过本系统发布微博。
3)采集登录用户信息:用户登录以后,可以通过本系统查看自己的账号信息以及自己发布的微博信息与自己关注用户的微博信息。
4)采集他人用户信息:这个功能主要是通过输入微博用户的昵称,可以采集到该昵称用户的账号信息,比如他有多少粉丝,他关注了哪些人,他被多少人关注,这些信息在微博中也很有实际采集的价值。
5)采集他人用户的微博:这个功能也是通过微博用户的昵称,来采集改用户所发的所有微博信息,本功能的目的是以后可以扩展为每隔一个时间段,自动采集目标集合中的多个微博用户的微博信息到本地,用于数据内容分析。
6)采集学校信息:这个功能通过学校名称的模糊查询,来采集学校在微博中的账号ID,学校所在区域,学校的类型信息,这个是采集学校在微博影响力的基础数据。
7)采集微博信息内容:可以按微博内容的关键词来查询,采集这个包含这个关键词的微博信息。但是由于这个API接口调用需要高级权限,在本系统还没完全发布之前和没有通过新浪微博开放平台审核之前,都无法直接测试与使用。
3主要功能的实现
3.1微博接口认证功能
新浪微博大部分API的访问需要用户身份验证,本系统采用OAuth2.0方式设计微博接口认证功能,新浪微博认证流程如图3所示。
4总结
本文主要从微博信息采集的方法与技术上进行了一系列的研究,然后设计开发了一个基于API的新浪微博信息采集系统,实现了微博基本信息的采集,在一定程度上解决了微博信息采集的自动化以及采集结果数据的格式标准化。但是,本系统目前的微博信息采集方式只能通过输入单个“关键词”进行唯一匹配采集,还没有具备多个“检索词”批量采集,也没有具备“主题型”微博信息采集的功能,因此下一步的研究工作是如何设计一个主题模型,以优化本系统。
参考文献:
[1]文瑞.微博之知[J].软件工程师,2009(12):19-20.
[2]中国互联网络信息中心.第31次中国互联网络发展状况统计报告[EB/OL].(2013-01-15).http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/hlwtjbg/201301/t20130115_38508.htm.
[3]罗刚,王振东.自己动手写网络爬虫[M].北京:清华大学出版社,2010.
[4]于满泉,陈铁睿,许洪波.基于分块的网页信息解析器的研究与设计[J].计算机应用,2005,25(4):974-976.
[5]NickRandolph,DavidGardner,ChrisAnderson,etal.ProfessionalVisualStudio2010[M].Wrox,2010.
[6]新浪微博开放平台.授权机制说明[EB/OL].(2013-01-19).http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E.