この記事の概要
APIキーなしで利用できるPythonのTwitterAPIラッパーを作ったので紹介します。この記事を読んで使っていただけたら幸いです。
詳しい使用方法などは以下のリポジトリやドキュメントでご確認ください。
ドキュメント: https://twikit.readthedocs.io/en/latest/twikit.html
追記: 非同期に対応しました
追記: v2.0.0より同期版を廃止して非同期版のみになりました
インストール
pipを使用してインストールしてください
pip install twikit
はじめに
まずは、TwitterのAPIにアクセスするためのクライアントを定義し、アカウントにログインします。
以下は、コードの例です。
import asyncio
from twikit import Client
# 第一引数に言語を指定
client = Client('ja')
async def main():
# アカウントにログイン
await client.login(
auth_info_1='email@example.com',
auth_info_2='example_user',
password='password0000'
)
asyncio.run(main())
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を指定できる
await client.search_tweet('検索クエリ', 'Top')
# ユーザーの検索
await client.search_user('検索クエリ')
ツイートの作成
画像や投票を添付することもできるので詳しくはドキュメントをご覧ください
await client.create_tweet('ツイートの本文')
トレンドの取得
第一引数にはトレンドのカテゴリーを指定できます。
# ニュースカテゴリーのトレンドを取得
await client.get_trends('news')
最後に
紹介した機能以外にも様々な機能があるのでぜひお試しください。
また、まだ開発中のため実装できていない機能もあります。ご希望の機能があれば、ぜひコメントなどでお知らせください。
GitHubでのスターをいただけると、開発への励みになります。どうぞよろしくお願いいたします。