1、微博信息抓取系统 第 0 页 共 26 页 微博信息抓取系统微博信息抓取系统 【摘要】【摘要】针对微博中庞大的数据量和用户关系群,本文提出并实现了基于新浪开放平 台与 Oauth2.0 的微博信息抓取系统。 该系统主要实现的功能有: (1)微博大厅的滚动微博及 其评论的抓取(2)微博用户的好友及其相互关系的抓取。通过线程池和数据库实现了微博信 息的抓取和存储, 并通过 prefuse 的 API, 图形化的显示出用户关系。 从实际运行效果分析, 该抓取系统能够满足各种 SNS 应用的内容填充,及网络用户社会网络关系分析。 【关键词】【关键词】Oauth2.0;新浪开放平台;社会网络关系;pre
2、fuse 1 1 引言引言 1.11.1 研研究背景究背景及及意义意义 随着移动互联网的发展,中国迎来了真正的微博时代。微博由于其内容简短,写作门槛 低,发布渠道便捷化,多样化,同步化,使得信息生产趋于零时间。与其他信息交流模式不 同,微博最大的特点在于技术上的便携性。2009 年,3G 牌照的发放标志着移动互联网时代 的到来, 移动手机和互联网这两种在中国发展最为迅速的媒介开始融合在一起, 为微博的快 速扩张做了技术上的准备,与传统博客相比,微博对用户能够产生很强粘性的原因,就在于 其在技术上无可比拟的便携性。用户可以通过各种方式登陆微博,发表微博。尤其是手机和 微博的绑定使得这以新媒介对微
3、博用户的接近性满足了 4A 的元素, 即 Anything, anywhere, anyone,anytime。任何用户可以在任何时间任何地点发布任何内容。从此,人们的信息交 流得到了空前的大解放。微博信息抓取系统通过开放平台的 API 抓取我们所需要的信息, 为各式各样的 SNS1社区应用在运营初期充实其数据量和用户量, 以吸引更多的用户关注和 使用。SNS 社区交友是现在网络用户之间相互交流的最主要方式。当前最流行的 SNS 网络 莫过于开心网,人人网,以及各大微博了,其中以新浪微博的活跃用户量最为庞大,本课题 主要以新浪微博为主要研究和抓取对象, 实现信息抓取的功能。 整个系统的框架拥有
4、较强的 可扩展性,可根据需要增加其他 SNS 网络社区的抓取模块。另外,本系统还从网络用户的社 会网络关系出发,图形化的展示了网络用户之间的社交关系 1.21.2 本课题主要工作本课题主要工作 本文主要解决的问题有抓取新浪微博的微博大厅数据已经其相关的评论和用户信息。 包 括新浪微博的 Oauth2.0 认证,通过调用新浪微博的 API,得到并解析服务器返回的 json 文 档,建立相应的数据库,储存在数据库中。并通过 Prefuse 对抓取的微博用户好友关系进行 了可视化的显示。实现全自动的抓取、解析、和数据存储过程。 大大提高了信息收集的工 作效率, 并大大降低了信息收集的出错率。 满足了
5、企事业公司对微博信息的内容需求和网络 用户的社会关系分析。 2 2 新浪微博开放平台新浪微博开放平台 微博信息抓取系统 第 1 页 共 26 页 2.12.1 微博用户的授权认证微博用户的授权认证 2.12.1. .1 1 新浪微博应用创建新浪微博应用创建 新浪微博开放平台允许所有微博用户创建自己的应用, 用户只要填写清楚开发者的详细 信息和应用的相关资料就可以创建自己的应用了。 应用创建成功后, 开发者将会获得该应用 的 APP KEY 和 Sercret Key。我们就是通过这两个 key 进行相关的技术开发工作。并且通过 这两个 key 唯一标识我们的应用。其新浪微博应用创建和发布的流程
6、图如图 1 所示。 图 1 新浪开放平台应用创建流程及发布流程图 2.1.2 2.1.2 OAuth2.0OAuth2.0 授权认证授权认证 OAuth2.0 是从 2006 年开始设计 OAuth 2协议的下一个版本。 OAuth(开放授权)是一个开 放标准, 允许用户让第三方应用访问该用户在某一网站上存储的私密的资源 (如照片, 视频, 联系人列表) ,而无需将用户名和密码提供给第三方应用。OAuth 允许用户提供一个令牌, 而不是用户名和密码来访问他们存放在特定服务提供者的数据。 每一个令牌授权一个特定的 网站(例如,视频编辑网站)在特定的时段(例如,接下来的 2 小时内)内访问特定的资源 (例如仅仅是某一相册中的视频) 。这样,OAuth 允许用户授权第三方网站访问他们存储在 另外的服务提供者上的信息,而不需要分享他们的访问许可或他们数据的所有内容。 微博信息抓取系统 第 2 页 共 26 页 相比于 OAuth1.0, OAuth2.0 整个授权验证流程更加简单和安全。 也是新浪微博开发平台 未来最主要的用户验证和授权方式。使用新的 2.0 协议进行授