如何获取新浪微博数据
来源:互联网 发布:php取字符串的某个值 编辑:程序博客网 时间:2024/06/01 11:44
无论是做与微博相关研究还是开发相关应用,可能需要获取历史的或者实时的数据。如何获取呢?除了新浪微博为开发者提供了API, 还可以利用搜索功能(详见此文)来收集数据。
在历史数据获取方面,与twitter相比,搜索接口比较弱,好在提供了搜索功能。
在实时数据获取方面,sina 还是比较保守。与之相关的有三个接口用public_timeline、topics、nearby_timeline,分别用来收集公共的实时微博、某个话题下的实时微博、某点周围的实时微博。由此可以看出:缺乏在某地点关于某关键词的实时搜索接口。虽然有诸多限制,但仍然有代替方案是:利用搜索功能可以进行收集一个小时前微博的,同时可以对关键字和地点进行限制,等等。下面从历史和实时数据两个方面来讲述获取微博数据。
数据收集思路
- 收集含关键字数据
历史数据在科研方面很重要,特别是研究社交媒体方向。但是历史数据也是有要求的,首先要主题相关,然后历史也有个具体时间段。结合这两个要求的考虑,可以使用微博的高级搜索接口(详见http://s.weibo.com/)。
主要思路是:抓取网页;解析网页;存储有用信息。
值得注意的是:我们可以选择解析网页的全部信息,包括微博文和用户的部分信息,但这样获得的信息相对较少。这时可以考虑只从网页中提取出微博的id,然后通过API来返回该微博的所有信息,包括用户信息。
- 收集实时 /历史GPS数据
实时数据的主要作用可以体现在一些应用上,譬如实时监测公众对突发事件的反应。
主要思路是:实时数据的一条路径为,利用微博提供的API进行搜索。这里不表,调用API即可。另一条就是,上文提到的利用搜索功能收集一个小时前的近实时数据。
遇到的问题
- 微博API访问权限、频次问题
即每个小时对API的访问有次数限制。新浪微博API采用OAuth2进行授权,有严格的访问权限和对应的访问频次。一种走正规流程,申请appKey并获得appSecret,从而的得到相应的权限和对应的访问频次。当然还有其他方法可以避开这种限制。获取OAuth2授权的方式不止这一种(可参考http://netment.iteye.com/blog/945402)。文中提到可以通过基于用户名与密码模式,这样我们可以通过构造类似 :
grant_type=password&client_id=s6BhdRkqt3&client_secret=47HDu8s&username=johndoe&password=A3ddj3w这样的URL请求来申请Access Token。这时还是需要一个高级权限的appKey和appSecret。很幸运的是,很多APP和客户端的官方微博appKey和appSecret在网络上都可以找到(可参见http://fengmk2.github.io/blog/appkey.html)
原文点此
- 如何获取新浪微博数据
- 如何利用新浪微博开放平台API获取新浪微博用户数据
- java获取新浪微博数据
- 用新浪微博API获取微博数据
- Apache 转发获取新浪微博https数据
- 如何获取OAuth2.0 Access Token(新浪微博)
- 如何高效的利用新浪微博获取信息
- 获取新浪微博cookie
- 获取新浪实时股票行情数据
- 新浪微博数据挖掘食谱之九: 用户篇 (获取转发微博的用户名)
- 新浪微博数据挖掘食谱之十三: 微博篇 (批量获取用户的微博)
- c#网页方式获取新浪微博的微博数据
- 获取新浪微博数据(1)-使用微博SDK
- 33day 新浪微博(获取用户微博数据)
- .NET 新浪微博开发:[1]JSON数据获取与解析
- 新浪微博数据挖掘食谱之十一: 用户篇 (批量获取用户信息)
- 用python爬取新浪微博数据 (无需手动获取cookie)
- Android新浪微博数据获取实例(一)(MVVM架构实现)
- BP反向传播算法
- 遍历一个数组
- Java学习中循环语句的学习
- 购物网站收藏功能分析比较
- ASCII码表
- 如何获取新浪微博数据
- arm BSS段、数据段、代码段、堆与栈(也加上了我自己的见解)
- QT学习小记2----音乐播放器(2)
- 深入浅出MongoDB应用实战开发(基础、开发指南、系统管理、集群及系统架构)
- 风景路
- [LeetCode]Longest Consecutive Sequence, 解题报告
- hdu 1203 I NEED A OFFER!
- 我最喜欢的爱情公寓情景
- JAVA培训之第一堂课的感想