LoginSignup
36
32

More than 5 years have passed since last update.

Pythonを使ってTwitterに投稿する

Last updated at Posted at 2016-07-09

PythonからTwitter APIを操作して、
自分のアカウントにつぶやきの投稿をします!

ちなみに今回使う、Python Twitter Toolsは投稿だけではなく、Twitterの検索結果を取得したり、ダイレクトメッセージの送信などもできるパッケージです。

設定した環境

MacBook Air (13-inch, Mid 2011)
プロセッサ: 1.8 GHz Intel Core i7
メモリ: 4 GB 1333 MHz DDR3
OSバージョン: 10.11.5
Python: 3.5.2

準備

今回はPython Twitter Toolsを利用します。

pipでインストールする手もあるみたいですが、自分はこちらからファイルをダウンロードしてインストールしました。

ダウンロードしたら、解凍したフォルダに移動してインストールをします。
(フォルダにはバージョンが記されているので、DLしたものに合わせて入力してください。)

$cd twitter-x.xx.x
$python setup.py install

pipでインストールする場合

$pip install twitter

Twiiterでアプリケーション登録をする

以下のページからTwitterのアプリケーション登録をしてAPIを使えるようにします。
アカウントは普段使って投稿しているものと同じものを使います。

登録したら、「Keys and Access Tokens」のタブを選択して、
API key, API secret, Access token, Access token secretの取得をします。

image

投稿してみよう!

それでは、以下のコードに各種Tokenを入れて、実行してみましょう。

post.py
from twitter import Twitter, OAuth

access_token = "自分のを記入"
access_token_secret = "自分のを記入"
api_key = "自分のを記入"
api_secret = "自分のを記入"

t = Twitter(auth = OAuth(access_token, access_token_secret, api_key, api_secret))

text = 'Pythonを使ってつぶやいてみました。'
statusUpdate = t.statuses.update(status=text)

# 生の投稿データの出力
print(statusUpdate)

# 要素を絞った投稿データの出力
print(statusUpdate['user']['screen_name'])
print(statusUpdate['user']['name'])
print(statusUpdate['text'])

実行すると最初に、とても長い文字列が出力されますが、これが一投稿に含まれる全てのデータです。

これだと見た目上、どんな内容がつぶやかれたのかわかりにくいので、
最後の3行で、スクリーンネームとユーザー名、投稿本文を抽出して出力しています。

post.py
# 要素を絞った投稿データの出力
print(statusUpdate['user']['screen_name'])
print(statusUpdate['user']['name'])
print(statusUpdate['text'])

抽出したいデータに応じて、[]の中を編集してみると良いと思います。
例えば、['description']とするとプロフィールの紹介文も取得できます。

投稿したり、抽出したりできる便利なPython Twitter Toolsの入門編でした。

36
32
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
32