欢迎来到天天文库
浏览记录
ID:45605855
大小:214.56 KB
页数:22页
时间:2019-11-15
《微博热点话题检测方法研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、4微博热点话题检测方法研究根据传统的话题检测算法基本流程,微博的热点话题检测方法大致如下:首先采集数据,然后对釆集的数据进行文本预处理,包括文本分词,去停用词等步骤;再次进行文本建模,包括文本向量化,特征提取等步骤;最后对文本进行聚类,产生热点话题。具体过程如下图所示:数据采集文本预处理文木去停分词用词文本向量化图1微博话题检测算法流程图4.1微博数据采集方法研究本文要研究的是微博中的热门话题,首先要解决的问题就是如何从新浪微博的平台屮收集到我们需要的信息。因此这一章研究的问题是如何进行微博数据的采集。本文主要研究两种采集方法:微博开放平台
2、以及网络爬虫获取数据,由于开放平台获取的数据并不全而,因此,文本选取的网络爬虫获取数据。4.1.1利用新浪微博开放API获取数据利用新浪微博开放平台采集数据之前需要先在开放平台申请注册账号,我们可以使用新浪微I専的账号可以也可重新进行注册。其次,选择其中的应用开发者选项,并根据捉示填写相应的基本资料,这是需要记住你申请的AppKey和AppSecret,另外还要在高级设置中填写入返回地址,以便在开发的配置文件中进行记入。最后,获得应用的AccessToken并调用新浪微博的开放API进行操作。下图,是新浪微博API的界面,我们可以看到,新浪
3、的开放平台有22个开发的接口,我们可以通过这些接口获得我们想要的数据,比如通过粉丝服务项,我们可以接收用户私信、关注、@等消息、向用户回复私信消息,另外我们还可以根据粉丝设置的提醒条件来接受私信的提醒消息,最后还可以向订阅用户群发私信消息等等。但是,我们从此图中也町以发现,冇一些接口是需要高级权限才能访问的,而且,高级权限很难获取,因此,并不是所有数据都可以从API中有效的获取。徽博API注:.点击查看V1到V2接口迁移指南,查看旧版接口文档粉丝服务接口置顶徴博接口话题接口推荐接口位置服务接口地囹引擎接口邀请接口关系接口微博标签接口提醍接口
4、地理信息接口支付接口徵博接口好友分组接口用户标签接口短铤接口社交电视接口评论接口用户接口标识为同的接口为高级权限接口,需要申请才可以调用,申请方式请见高级接口申请标识为目的接口为需要单独向用户提出SCOPE授权清求的接口,用户单独授权后才可以调用,具体使用方法请见scope图2新浪微博API界面另外,为了均衡服务器的负载,通常API服务商会根据用户权限的不同对用户的API接口的调用频率和杳询范围会有一定的限制。比如,一次请求最多可以返回不超过5000个的结果,而且普通授权用户接口使用上限每小吋为1000次,并且在程序运行过程屮如果在短吋间内
5、调用API接口很多次,即使总次数并没有达到毎小时的1000次,但是因为在这段时间内调用高度频繁,程序调用结果依然会返回错误,捉示用户已达到API使用上限。因此,我们很容易看出,虽然通过调用API接II可以更加方便地进行新浪微博数据的获取,但是微博服务商并没有开放给普通用户完整的API接口,用户需要高级权限才能获得更多自己想要的数据,因此使用API的方式只可以解决微博数据获取中的一部分问题。于是,本文我们用到网络爬虫与网页解析技术,来获取所需的微博信息。因此,接下来我们需要介绍网络爬虫技术,本文也是用网络爬虫技术获取数据的。4.1.2利用网络
6、爬虫获取数据利用网络爬虫从新浪微博获取数据有一大难点,就是解决模拟登陆的问题。因此,和一般的静态网贝不同,新浪微I•専我们要获取的是动态的网页,因此,我们必须解决这个模拟登陆的问题。而且,每个网站的登陆过程都冇所不同,所以,暂时没有统一的可以实现模拟登陆的方法。我们需耍分析新浪微博模拟登陆过程。用电脑登录新浪微闿的时候,出于在客户端用javascript预先对用户名和密码都进行了加密,另外在POST之前会GET到一组参数,这组参数也会作为POST_DATA的一部分。那么,我们就不能用通常的简单的方法来模拟POST(比如人人网)进行登录。我们
7、的模拟登陆主要分以卜•五个步骤:第一步,解析新浪客户端的加密方法:在新浪的某个javascript文件中会冇相应的密码加密的过程,通过我们的分析,加密方式有RSA2和SHA1两种方法。第二步,Get请求某个url,并获取一些参数,比如servertime、nonce等,捉供给后而post请求和加密密码使用,最后返回json格式的数据。第三步,POST请求:POSTlogin.sina.com.cn/sso/login.php?client=ssologin.js(vl.4.5)HTTP/1.1其中用户名su在提交前要经过base64加密处理
8、;密码sp要经过rsa2加密处理,其中rsa加密的公钥是由pubke和10001(十六进制)构成,加密内容为:servertime+,t'+nonce+''+pwd。第四步
此文档下载收益归作者所有