Blog

PythonでTwitterからツイートを取得してみよう

2015.03.16 | Python | 4569views


python-logo-master-v3-TMせっかくMac持ってるならPythonを。という連載なんですが、ゆくゆくはカテゴリーを分けたほうがいいのかなぁとかなんとか。今回はPythonでTwitterからツイートを取得してみましょう。既に多くのブログでやりかたは明快に出ているのですが、まぁお遊びから学ぶPythonということでやってみましょう。

まずはTwitterのモジュールをインストールしよう

今回はPython-twitterを使用しますからターミナルを起動しインストールしましょう。


$ sudo pip install python-twitter

Twitter Developersからキーを取得しよう

https://dev.twitter.com/

上記URLからキーを取得しましょう。TwitterのWEB版から既にログインを済ませておくと楽だとか何とか。画面下の方の「Manage Your Apps」をクリックしましょう。

twitdev

そうするとこんな画面で入力を開始します。*印のところだけ入力すればよいです。

入力画面

Name:アプリケーションの名前を入力。他に使ってる人がいたらエラー出ます
Description:アプリ概要 分かる範囲で
Website:あなたのWebサイトURLを入れておきましょう

以上で完了。簡単!

そうすると 「Key and Access Tokens」のタブをクリックして、ページ下の方でCreateをクリックすれば、

Consumer Key (API Key)
Consumer Secret(API Secret)
Access Token
Access Token Secret

の4項目の情報が出てきますので、これをメモメモしておきましょう。絶対に外部に漏らしてはダメですよ。

twitkey.pyファイルを作ろう

認証キーは別ファイルで作って、importしてやると楽ちんです。


twkey = {
    "cons_key": "******************************",
    "cons_sec": "******************************",
    "accto_key": "******************************",
    "accto_sec": "******************************"
}

変数名は仮にtwkeyとしてみました。もっと分かりにくい変数名のほうが安全なのかどうか。このファイルをtwitkeyという名前をつけて保存します。

実行ファイルを作ろう

では実際に動作させるスクリプトを書いていきましょう。


#!/usr/bin/env python
# coding: utf-8
 
import twitter
import twitkey
 
CONSUMER_KEY = twitkey.twkey['cons_key']
CONSUMER_SECRET = twitkey.twkey['cons_sec']
ACCESS_TOKEN_KEY = twitkey.twkey['accto_key']
ACCESS_TOKEN_SECRET = twitkey.twkey['accto_sec']
 
api = twitter.Api(consumer_key=CONSUMER_KEY,
                  consumer_secret=CONSUMER_SECRET,
                  access_token_key=ACCESS_TOKEN_KEY,
                  access_token_secret=ACCESS_TOKEN_SECRET)
tweets = api.GetSearch(term=u"#今日")
for tweet in tweets:
    print(tweet.text)

ものすごくシンプルですね。このファイルをtwitprint.pyとして保存しましょう。シェルからcdで移動して動かしましょう。


$ cd pyworks

$ python twitprint.py

動きましたか?ではスクリプトの中身を解説していきましょう。

中身解説


#!/usr/bin/env python #おまじない
# coding: utf-8 #UTF-8ですよという宣言
 
import twitter #twitterのモジュールをインポートします
import twitkey #さきほど作った認証キーが入ったファイルをインポートします
 
CONSUMER_KEY = twitkey.twkey['cons_key'] #ここから下4行にtwitkey.pyの内容を読めという指令を書いてます
CONSUMER_SECRET = twitkey.twkey['cons_sec']
ACCESS_TOKEN_KEY = twitkey.twkey['accto_key']
ACCESS_TOKEN_SECRET = twitkey.twkey['accto_sec']
 
api = twitter.Api(consumer_key=CONSUMER_KEY, #これはTwitterAPIに使う箇所なのでまる覚えで
                  consumer_secret=CONSUMER_SECRET,
                  access_token_key=ACCESS_TOKEN_KEY,
                  access_token_secret=ACCESS_TOKEN_SECRET)
tweets = api.GetSearch(term=u"#今日") # (term=u"#今日") のとこは日本語なのでユニコードを表す u が要ります
for tweet in tweets: #tweetsの内容があれば以下を実行しろという命令です
    print(tweet.text) #textでプリントしろという命令です

tweets = api.GetSearch(term=u"#今日")

この箇所を書き換えると色々取得できますね。

tweets = api.GetFavorites()

でお気に入りを調べたり。api.GetFavorites(id=*****)とかで特定ユーザーのを取得。
デフォルトの引数はあなた自身になってるはず。

TLの取得はこんな感じ。

tweets = api.GetHomeTimeline()

リプライ取得はこんな感じになってます。

tweets = api.GetMentions()

このエントリーが役に立ったらシェアしてください


LLC JIRIKI HOME

この記事を書いた人

淵上 喜弘

著者:LLC JIRIKI

合同会社ジリキ 代表社員兼、業務執行社員。
1979年生まれ 兵庫県尼崎市出身・明石市育ち。

川崎医療福祉大学を卒業後、日産サティオ岡山に就職し初年度新人賞をカルロス・ゴーンCEOより受賞。その後NTT関連フレッツ販売会社に再就職し、地域賞2位を受賞。OCN販売表彰2位も同時受賞するとともにBフレッツ単独販売数の記録を打ち立てる。2006年合同会社ジリキ設立。SEO、WEBサイト制作業を開始する。

SEOで「大阪 探偵」や「離婚 行政書士」などのキーワードや「子ども 教材」「スマートフォンケース」など各種キーワードで1位を獲得。サイト制作でも毎日コミュニケーションズ・マイナビ女子オープンのサイトを制作。その後ECサイト運営サポートに着手し、売上月商50万のストアを1年半で1700万の月商に成長させる。

スマートフォンケースなどの商品企画開発も手がけ、楽天ランキングでも1位獲得、家電ジャンルMVPなどECサイトコンサルティングでも実績あり。

現在、グロースハックに注力しており様々な業種のサイトのCVアップをサポート中。チームとしてのグロースハック実績ではKaizenグロースハッカー総合 Top 20%、不動産 Top 10などを頂いています。

プログラミングは本業ではなくあくまでも趣味の一環として取り組んでいます。月1回ペースで東京へ出張へ行っておりますので、機会があれば是非お話をしましょう。

LLC JIRIKI