全取材あり! | エンジニアになれるプログラミングスクールおすすめ5社まとめ

この記事の読者の対象

  • PythonでTwitterのAPIを利用したい人
  • PythonのTwitter APIラッパー Tweepyを利用したい人

PythonでTwitter APIを利用する

今回は、PythonでTwitter APIを利用する際に使える、Tweepyの使い方についてまとめてみます。
なお、Tweepyは開発が終了しています。

環境

  • Windows 10
  • Windows Subsystem for LinuxでUbuntuを利用
  • Python3

Tweepyのインストール

Tweepyを使っていて、ツイッターのAPIを利用できるTweepyというライブラリを使って、データを取ってきます。

$ pip install tweepy

APIの認証

中身のコードはこちらです。

各種APIキーは、下記記事から取得してください。APIキーの取得方法は毎年変わるので、常に最新版のドキュメントを色々と漁って下さい。

Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ ※2018年9月時点の情報

コピペして、

  • CONSUMER_KEY
  • CONSUMER_SECRET
  • ACCESS_TOKEN
  • ACCESS_TOKEN_SECRET

を入れると動作します。

import tweepy
CONSUMER_KEY = "ここに入力" 
CONSUMER_SECRET = "ここに入力"
ACCESS_TOKEN = "ここに入力"
ACCESS_TOKEN_SECRET = "ここに入力"
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth ,wait_on_rate_limit = True)

ユーザー情報の取得

APIで、ユーザー情報を取得します。
screen_nameは、ツイッターIDのこと。これとは別に、idがあり、これはTwitterユーザーのユニークIDになります。

user = api.get_user(screen_name="never_be_a_pm")
user

取得できるデータ例は以下の通りです。他にも様々なデータがあります。

  • ‘id’: 718015800133586944
  • ‘name’: ‘DAI’
  • ‘screen_name’: ‘never_be_a_pm’
  • ‘location’: ‘独学プログラマーのためのAIアプリ開発がわかる本’
  • ‘profile_location’: None,
  • ‘description’: ‘プログラミング、マーケティング、データアナリティクスに特化したメディアDAINOTE(https://t.co/eVD4JK4XT2)編集長。フリーランス。KADOKAWAさんから著書『独学プログラマーのためのAIアプリ開発がわかる本』が出ました。 ICU卒’,
  • ‘friends_count’: 515
  • ‘followers_count’: 27808
  • ‘listed_count’: 387
  • ‘display_url’: ‘amzn.to/2GkULrG’

これらのデータは、以下のようにアクセスすることが可能です。

user.screen_name # -> never_be_a_pm
user.description # -> プログラミング、マーケティング、データアナリティクスに特化したメディアDAINOTE(https://t.co/eVD4JK4XT2)編集長。フリーランス。KADOKA...
friends_count # -> 515
followers_count # ->27808

ツイートの検索

タイムラインのツイートを検索できます。ツイートのオブジェクトがリストでかえってきます。(複数のツイートがかえってきます)

tweets = api.search(q='"#駆け出しエンジニアと繋がりたい"', lang='ja', result_type='recent',count=12)
  • q :検索したいキーワード
  • lang: 検索する国。日本語の場合はja
  • result_type:
  • count: ツイート数を制限する

詳しくはAPIリファレンスを参照する。

≫ API Reference

ツイートの内容を取得

上で取得したのは、ツイートのリスト。for文を使うなりして、ひとつ取得して、中身を確認します。

※あとでかく

ツイートをファボする

ツイートをファボします。(ただし自動で複数やると凍結されますので注意です。)

api.create_favorite("tweetのid") 

フォローする

指定したユーザーをフォローします。(ただし自動で複数やると凍結されますので注意です。)

api.create_friendship("user_id")

 

指定したユーザーのフォロワーのIDを取得する

followers_ids = tweepy.Cursor(api.followers_ids, id = "screen_nameを入力", cursor = -1).items()
フォロワーのidがリストでかえってきます。これをfor文で回して、フォロワーのプロフィール詳細を取得したりできます。
指定したユーザーのフォローしているひとのIDを取得する
followers_ids = tweepy.Cursor(api.followers_ids, id = "screen_nameを入力", cursor = -1).items()

ユーザーリストの作成

ユーザーのリストを作成します。

api.create_list(name="リストの名前", mode=is_public, description = "リストの説明")
  • mode: 公開状態。is_public だと公開、is_privateだと公開になります。
  • name: リスト名
  • description: リストの説明

リストの削除

api.destroy_list(owner_screen_name="リストの作成者のscreen_name",slug="リストの名前") 

リストにユーザーを追加

api.add_list_member(”リストの名前”, id="ユーザーのscreen_name")