通过twitterAPI获取twitter数据(基本方法、步骤)

一、准备工作

1.通过已有推特账号访问https://apps.twitter.com/ 点击打开链接;(需要翻墙)

2.点击右上角通过twitterAPI获取twitter数据(基本方法、步骤)图标,填写“name,Description,website”,其中name为APP的名称,自己随便起,不能和别人已有的重名;description是对自己APP的描述(随便写);website自己有网站写自己的网站,没有就写一个符合格式的网站就行,以后可以再改。

通过twitterAPI获取twitter数据(基本方法、步骤)通过twitterAPI获取twitter数据(基本方法、步骤)

callback Urls 可以不填,选中“yes,I have...”,点击“create your Twitter application”。

3.进入下一页可以看到

通过twitterAPI获取twitter数据(基本方法、步骤)

点击“Keys and Access Tokens”可以看到“consumer Key”和“consumer secret”(记住这两项!!!)

通过twitterAPI获取twitter数据(基本方法、步骤)

向下拉到底,点击“create my access token”,生成Access token见下图

通过twitterAPI获取twitter数据(基本方法、步骤)

务必记住此处的Access Token和Access Token Secrect(!!!)。

这里的两项和之前的“consumer Key”和“consumer secret两项,即为我们所需的访问twitterAPI的全部内容。


二. 开始写程序(此处使用Python,根据自己情况)

注:https://geduldig.github.io/TwitterAPI/authentication.html 点我打开,此链接有关于基本程序的详细说明。

通过twitterAPI获取twitter数据(基本方法、步骤)

鉴于国内大陆“有墙”,我们采用上图的方法。

下面是我根据网站介绍写的一个小程序:

# -*- coding:utf-8 -*-
from TwitterAPI import TwitterAPI
from TwitterAPI import TwitterPager


def search_tweets(the_consumer_key, the_consumer_secret, the_access_token_key,
                  the_access_token_secret, the_proxy_url):
    """
    搜索含有特定“内容”的推文
    :param the_consumer_key: 已有的consumer_key
    :param the_consumer_secret: 已有的consumer_secret
    :param the_access_token_key: 已有的access_token_key
    :param the_access_token_secret: 已有的access_token_secret
    :param the_proxy_url: 代理及端口号
    :return:
    """
    api = TwitterAPI(consumer_key=the_consumer_key,
                     consumer_secret=the_consumer_secret,
                     access_token_key=the_access_token_key,
                     access_token_secret=the_access_token_secret,
                     proxy_url=the_proxy_url)
    r = TwitterPager(api, 'search/tweets', {'q': 'pizza', 'count': 10})
    for item in r.get_iterator():
        if 'text' in item:
            print item['text']
        elif 'message' in item and item['code'] == 88:
            print 'SUSPEND, RATE LIMIT EXCEEDED: %s\n' % item['message']
            break


if __name__ == "__main__":
    consumerKey = ""  # 分别对应填写你申请的四项内容
    consumerSecret = ""
    accessToken = ""
    accessTokenSecret = ""
    proxyUrl = ""  # 填写你的代理
    
    search_tweets(the_consumer_key=consumerKey,
                  the_consumer_secret=consumerSecret,
                  the_access_token_key=accessToken,
                  the_access_token_secret=accessTokenSecret,
                  the_proxy_url=proxyUrl)