软件设计开发:基于API的微博信息采集系统设计与实现
优采云 发布时间: 2021-07-24 01:01软件设计开发:基于API的微博信息采集系统设计与实现
ComputerKnowledge (June 2013) Software Design and Development 本专栏主编:谢媛媛,基于API的微博信息采集系统设计与实现(浙江树人大学信息技术学院,杭州310015)Abstract : 微博已经成为网络信息的重要来源,本文分析了微博信息采集的相关方法和技术,提出了一种基于API的信息采集方法,然后设计了一个信息采集系统,可以用于新浪微博博客的相关信息为采集。实验测试表明信息采集系统可以快速有效地采集新浪微博信息。关键词:新浪微博;微博界面;信息采集;C#语言中图分类号:TP315 文档识别码:A文章编号:1009-3044(2013)17-4005-04 微博数据采集系统基于新浪的API 吴斌杰、徐子伟、于飞-hua(信息科学技术浙江树人大学人类学学院,杭州 310015) 摘要:微博已成为重要的网络信息来源,论文分析了相关方法技术微博信息采集。基于数据采集的选词数据新浪微博。实验证明有效。关键词:新浪微博;应用程序接口;数据采集器;即微博客的缩写,是一个基于用户关系进行信息共享、传播和获取的平台。用户可以通过WEB、WAP、各种客户端组件个人社区更新140字左右的信息,实现即时分享。
中国互联网络信息中心第31次中国互联网络发展状况统计报告显示,截至2012年12月末,截至2012年12月末,我国微博用户数为3.09亿元,较2011年底增加5873万,微博用户在网民中的占比较去年底提高6个百分点,达到54.7%。随着微博网络影响力的迅速扩大,政府部门、学校、知名企业、公众人物纷纷开通微博。在公众的参与下,微博已经成为一个强大的虚拟社会。微博已成为网络信息的重要来源。如何快速有效地使用采集微博信息已成为一项具有重要应用价值的研究。研究方法和技术路线 国内微博用户以新浪微博为主,因此本文拟以新浪微博为例,设计研究方法和技术路线。通过对*敏*感*词*科技文献和实际应用案例的分析,发现目前新浪微博的信息采集方式主要分为两类:一类是“模拟登录”和“网络爬虫”信息结合三种技术采集第二种方法是基于新浪微博开放平台的API文档。开发者自己编写程序调用微博API发送微博信息采集。对于第一种方法,难度较高,研究技术复杂,尤其是“模拟登录”这一步。需要随时跟踪新浪微博的登录加密算法。新浪微博登录加密算法的变化会导致“网络爬虫”。 “”的失败最终导致采集在微博上找不到信息。
同时,“网络爬虫”采集到达的网页需要“网页内容分析”,与基于API的数据采集相比,在效率和性能上存在明显差距。基于以上因素,本文拟采用第二种方法进行研究。微博信息采集系统基于新浪微博开放平台API文档,主要采用两种研究方法:文档分析法和实验测试法。文档分析方法:参考新浪微博开放平台的API文档,将这些API描述文档写成单独的接口文件。实验测试方法:在VS.NET2010平台上,使用C/S模式开发程序调用接口类,采集微博返回的JOSN数据流,实现数据@的相关测试开发采集。基于以上两种研究方法,设计本研究的技术路线:一是申请新浪微博开放平台App Key和App Secret。审核通过后,阅读理解API文档,将API文档描述写入API接口代码类(c#语言),然后测试OAuth2.0的认证。认证通过后,可以获得Access Token,从而有权限调用API的各种功能接口,然后通过POST或GET调用API接口。最后返回JOSN数据流,最后分析这个数据流并保存为本地文本文件或数据库。详细技术路线如图1。 研究内容设计微博信息采集系统功能结构如图2所示。系统分为七个部分,分别是:微博界面认证、微博用户登录、登录用户发送微博、 采集当前登录用户信息、采集其他用户信息、采集其他用户微博、采集学校信息、采集微博信息内容。
收稿日期:2013-04-15 基金项目:2012年浙江大学文学系科技创新项目(项目编号:2012R420010)科研成果一)作者简介:吴斌杰(1991-),男,浙江 出生于嘉兴,2010级学生,浙江树人大学信息学院电子商务专业;监事:于飞华。 E-mail: Tel:+86-551-65690963 65690964 ISSN 1009-3044 Computer Knowledge Technology Vol.9, No.17, June 2013.4005 Computer Knowledge (2013年6月) 本栏目主编:谢元元软件设计开发微博接口认证:新浪微博访问大部分API,如发布微博、获取私信等需要注意。用户身份,目前新浪微博开放平台用户身份认证有OAuth2.0和Basic Auth(仅用于应用开发者调试接口),新版本的接口也只支持这两种方式。所以系统设计开发的第一步是做一个微博界面认证功能。 2)微博用户登录:认证通过后,所有在新浪微博上注册的用户都可以登录本系统,并可以通过本系统发布微博。
3)采集Login 用户信息:用户登录后,可以通过本系统查看自己的账号信息、自己的微博信息以及关注者的微博信息。 4)采集其他用户信息:该功能主要用于输入微博用户的昵称,您可以采集获取昵称用户的账号信息,比如他有多少粉丝,他是谁关注了,他被多少人关注了,这个信息在微博采集上也是很有价值的。 5)采集 其他用户的微博:该功能也使用微博用户的昵称来更改用户采集发送的所有微博信息。此功能的目的是扩展到未来每隔一个时间段。 ,采集目标集合中多个微博用户的微博信息自动发送到本地进行数据内容分析。 6)采集学校信息:该函数通过学校名称的模糊查询来获取采集学校的微博账号ID、学校所在地区、学校类型信息。这是采集学校在微博上的影响力基本数据。 7)采集微博信息内容:您可以在微博内容中按关键词进行查询,采集这里收录关键词微博信息。但由于本次API接口调用需要高级权限,在系统完全发布前和新浪微博开放平台审核通过前,无法直接测试使用。主要功能实现3.1 微博界面认证功能 新浪微博API访问大部分需要用户认证。本系统采用OAuth2.0设计微博界面认证功能。新浪微博认证流程如图3所示。
新浪微博用户 新浪微博用户 新浪微博用户 新浪微博用户 授权服务器 授权服务器 授权服务器 授权服务器 新浪 API AP APIAP 服务器服务器 服务器 认证请求 认证请求 认证请求 认证请求请求授权 授权授权 授权授权 授权授权 授权授权注册rotect ed Res our ce rotect ed Res our ce rotect ed Res our ce Access Access Access Access 基于API 新浪微博 information采集技术路图4006 计算机知识(2013年6月) 软件设计与开发 本专栏责任编辑:谢元元 从图3可以看出,新浪微博界面访问认证需要通过两个流程进行设计:第一步是登录微博用户账号,请求用户对token进行授权;第二步是获取授权令牌。 Access Token,用于调用API,实现接口认证功能的部分代码如下: public OAuth(string a*敏*感*词*ey, string appSecret, string callbackUrl a*敏*感*词*ey;this.AppSecret appSecret;this.AccessToken string.Empty;this. CallbackUrl publicAccessToken GetAccessTokenByPassword(字符串护照,字符串密码) returnGetAccessToken(GrantType.Password, new Dictionary {"username",passport},{"password", password} 3.2 微博用户登录功能 微博登录模块的主要功能是输入新浪微博用户账号和密码,调用Oauth类中的GetAccessTokenByPassword()方法,登录成功后可以获得Access Token,然后登录的用户就可以使用系统信息采集功能,登录界面如图4所示。
系统登录界面图3.3 登录用户微博信息和关注用户微博信息采集登录用户信息采集图 登录用户微博信息和关注用户微博信息模块界面如图如图5所示,主要包括三个功能:登录用户信息采集、当前登录用户发布微博、采集登录用户微博信息和登录用户关注的用户微博信息。 3.4其他用户的微博信息采集采集其他用户的微博信息功能界面如图6所示,该功能主要是通过微博用户的昵称来获取采集该用户的用户信息和该用户发布的微博信息. 3.5学校基本信息采集采集学校信息功能模块界面如图7所示。该功能主要是通过学校名称的模糊查询来获取学校微博平台的信息,采集到的该信息主要用于研究学校在微博上的影响力。 4007计算机知识(2013年6月) 本栏目主编:谢媛媛软件设计与开发总结 本文主要对微博信息采集的方法和技术进行了一系列的研究,然后设计开发了一个基于API的新浪微博博客信息采集系统实现了微博基础信息采集,在一定程度上解决了微博信息采集的自动化和采集结果数据格式的标准化。但是,目前本系统的微博信息采集方法只能通过输入单个“关键词”采集进行唯一匹配,并且没有多个“搜索词”批次采集,也没有一个“话题类型”“微博信息采集”的功能,所以下一步的研究是如何设计一个话题模型来优化系统。
参考资料:中国互联网络信息中心。第31次中国互联网发展统计报告[EB/OL]。 (2013-01-15).⁃ wtjbg/201301/t20130115_38508.htm.NickRandolph,David Gardner,Chris Anderson,et al.Professional Visual Studio 2010[M].Wrox,2018.k43 开放平台. 授权机制说明[EB/OL].(2013-01-19).% E6%8E%88%E6%9 D%83%E6%9C%BA% E5%88%B6%E8%AF %B4%E6%98%8E.学校信息采集图4008