本篇将从实际例子出发,展示如何使用api爬取twitter的数据。
1. 创建APP
进入https://apps.twitter.com/,创建自己的app。只有有了app才可以访问twitter的api并抓取数据。只需创建最简单的app即可,各种信息随意填写,并不需要进一步的认证,我们要的只是app的Consumer Key (API Key), Consumer Secret (API Secret), Access Token 和 Access Token Secret。鉴于单app的爬取次数限制,可以申请很多app来提高总次数。
2. 确定要使用的API
twitter提供多种类型的api,其中常用的有REST API和Streaming API。前者是常见的api类型,后者则可以跟踪监视一个用户或者一个话题。
REST API下面有很多的api,有价值爬取的有以下几个:
- GET statuses/user_timeline:返回一个用户发的推文。注意twitter里回复也相当于发推文。
- GET friends/ids:返回一个用户的followees。
- GET followers/ids:返回一个用户的followers。
- GET users/show:返回一个用户的信息。
3. 官方类库
下载twitter的类库。说实话,api爬虫好不好写,全看类库提供的功能强不强。twitter提供了多种语言的类库,本文选择java类库。
4. 验证授权
凡是访问api,都需要验证授权,也即:OAuth。一般流程为:以app的id和keyÿ