ログイン新規登録

Qiitaにログインして、便利な機能を使ってみませんか?

あなたにマッチした記事をお届けします

便利な情報をあとから読み返せます

7

APIキー不要のPythonのTwitter APIラッパー"twikit"の紹介

最終更新日 投稿日 2024年01月31日

この記事の概要

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_1auth_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でのスターをいただけると、開発への励みになります。どうぞよろしくお願いいたします。

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
  3. ダークテーマを利用できます
ログインすると使える機能について
a_f1

@a_f1

コメント

fmhr
@fmhr

素晴らしいライブラリをありがとうございます。
少し不明な点があったので質問させて頂きたいです。
client.get_user_followers(123456,1)という風に数を1と指定しても50個ほどの結果が表示されてしまいます。
また、自分のフォロワーやフォローのidを取得する方法としてこれを使っているのですが、それ専用の関数の追加予定などはございますか?

0
a_f1
@a_f1

@fmhr
countに指定した数以上の結果が返されるのはTwitterAPIの仕様、あるいはバグのようです。
また、自分のフォロワーは、client.get_user_followers(self.user_id())で取得できます。

0
nao-san
@nao-san

APIが有料化してから困っていたので、とても便利なライブラリをありがとうございます。
1点ご質問させていただきます。
 
自分やフォロワーがお気に入りしたツイートの一覧を取得する方法はございますか?

1
a_f1
@a_f1

@nao-san
client.get_user_tweets('ユーザーのID', 'Likes')
で取得できます

0

いいね以上の気持ちはコメントで

Qiita Conference 2024 4月17日(水)~19(金)開催!

Qiita Conferenceは、Qiita最大規模のテックカンファレンスです!

基調講演ゲスト(敬称略)

牛尾剛、 けんすう、 ゆる言語学ラジオ、 田中邦裕、小城久美子、 飯沼亜紀

記事投稿キャンペーン開催中
Qiita×Findy記事投稿キャンペーン 「今の開発組織でトライしたこと・トライしていること・トライしようとしていること」
~
7

新規登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる

ソーシャルアカウントでログイン・新規登録

メールアドレスでログイン・新規登録