この記事の概要
APIキーなしで利用できるPythonのTwitterAPIラッパーを作ったので紹介します。この記事を読んで使っていただけたら幸いです。
詳しい使用方法などは以下のリポジトリやドキュメントでご確認ください。
ドキュメント: https://twikit.readthedocs.io/en/latest/twikit.html
追記: 非同期に対応しました
インストール
pipを使用してインストールしてください
pip install twikit
はじめに
まずは、TwitterのAPIにアクセスするためのクライアントを定義し、アカウントにログインします。
以下は、コードの例です。
from twikit import Client
# 第一引数に言語を指定
client = Client('ja')
# アカウントにログイン
client.login(
auth_info_1='email@example.com',
auth_info_2='example_user',
password='password0000'
)
auth_info_1
とauth_info_2
には、Twitterのアカウントに登録しているユーザー名、メールアドレス、電話番号のうち、2つを選んで指定してください。順番は自由です。
save_cookies
を使用することで、ログインした際のクッキー情報をファイルに保存することができます。
# クッキーの保存
client.save_cookies('cookies.json')
load_cookies
メソッドを使用することで、保存されたクッキー情報を読み込みむことができます。これにより、ログイン情報を再利用し、再度ログインの手続きを省略することが可能です。
# クッキーの読み込み
client.load_cookies('cookies.json')
機能例
主要な機能を紹介します。
ツイートやユーザーの検索
ツイートやユーザーをキーワードから検索することができます。
コードの例:
# ツイートの検索
# 第二引数にはTop, Latest, Mediaを指定できる
client.search_tweet('検索クエリ', 'Top')
# ユーザーの検索
client.search_user('検索クエリ')
ツイートの作成
画像や投票を添付することもできるので詳しくはドキュメントをご覧ください
client.create_tweet('ツイートの本文')
トレンドの取得
第一引数にはトレンドのカテゴリーを指定できます。
# ニュースカテゴリーのトレンドを取得
client.get_trends('news')
最後に
紹介した機能以外にも様々な機能があるのでぜひお試しください。
また、まだ開発中のため実装できていない機能もあります。ご希望の機能があれば、ぜひコメントなどでお知らせください。
GitHubでのスターをいただけると、開発への励みになります。どうぞよろしくお願いいたします。
コメント
@fmhr0 
@a_f10 
@nao-san1 
@a_f10
素晴らしいライブラリをありがとうございます。
少し不明な点があったので質問させて頂きたいです。
client.get_user_followers(123456,1)という風に数を1と指定しても50個ほどの結果が表示されてしまいます。
また、自分のフォロワーやフォローのidを取得する方法としてこれを使っているのですが、それ専用の関数の追加予定などはございますか?
@fmhr
countに指定した数以上の結果が返されるのはTwitterAPIの仕様、あるいはバグのようです。
また、自分のフォロワーは、client.get_user_followers(self.user_id())で取得できます。
APIが有料化してから困っていたので、とても便利なライブラリをありがとうございます。
1点ご質問させていただきます。
自分やフォロワーがお気に入りしたツイートの一覧を取得する方法はございますか?
@nao-san
client.get_user_tweets('ユーザーのID', 'Likes')
で取得できます
いいね以上の気持ちはコメントで