Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
22
Help us understand the problem. What is going on with this article?
@ti-ginkgo

python-twitterを利用して、pythonでTwitterを操作する。

More than 1 year has passed since last update.

python-twitterを利用して、pythonでTwitterを操作する。

python-twitterを利用して、pythonからTwitterを操作してみます。

プログラム実行前に準備すること

Twitter Appにアクセスし、[Create an app]で新規作成します。
URLの入力が求められることがありますが、なんでも構いません。
各種Keyを発行します。以下の4つです。
 ・Consumer Key(API Key)
 ・Consumer Secret(API Secret)
 ・Access Token
 ・Access Token Secret
これらが終われば、必要な準備は終わりです。

ライブラリのインストール

PythonでのTwitterライブラリは数多くありますが、今回はpython-twitterを使用したいと思います。
インストールは$ pip install python-twitterによりできます。

実際にライブラリを使用してみる

ログインしましょう。

import twitter

api = twitter.Api(consumer_key=' ',
                  consumer_secret=' ',
                  access_token_key=' ',
                  access_token_secret=' '
                  ))
# 空白には自分で取得した各種キーを文字列として入力してください。
# これによりプログラムからTwitterを動かすことができます。

最近の自分のタイムラインを取得してみましょう。
ついでに内容も表示してみましょう。

statuse = api.GetUserTimeline(api.VerifyCredentials().id, count=200)
# countに指定した個数のタイムラインを取得することができます。
# 取得できる最大値は200です。

for s in statuse:
    print(s.text)
# タイムラインの内容が表示されます。

フォロワーのタイムラインを取得してみましょう。
今回は数が多くなるので、5人のフォロワーの最新の5件を表示します。
*鍵垢の人のタイムラインは取得できないようです。

friends = api.GetFriends()
for i,friend in enumerate(friends):
    if i > 5:
        break
    friends_statuse = api.GetUserTimeline(friend.id, count=5)
    print(friend.name) # ユーザー名
    for f_s in friends_statuse:
        print(f_s.text) # ツイートの内容
    print() # 改行

実際につぶやいてみましょう。
ダイレクトメッセージもついでに送ってみましょう。

api.PostUpdates('I love python-twitter.')

for i,friend in enumerate(friends):
    if i > 5:
        break
    api.PostDirectMessage(friend.id, 'I love you.')

最後は写真をツイートしてみましょう。

api.PostUpdate('Picture.', media=' ')
# mediaの空白にアップロードしたい写真のパスを指定してください。

そのほかにもAPIには様々な関数が定義されているので、
気になる方は参考サイトを参照してください。

参考サイト

22
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ti-ginkgo
機械学習やデータ分析に興味があります。よろしくお願いします。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
22
Help us understand the problem. What is going on with this article?