見出し画像

【113日目】Tweepyでツイート情報を取得_searchメソッドの整理

本日もtweepyの情報整理です。
ようやく少しずつ全体像が見えてきました。


↓前回の記事はこちらです。


tweepyのAPIクラスには複数のsearchメソッドが存在しています。それぞれ抽出できるデータの特性が異なるため、どういうメソッドがあるか整理してみます。

APIの認証方式によって、2種類のライブラリを使い分ける必要があります。

OAuth認証方式の場合:apiライブラリ
Clientメソッドで認証する場合:clientライブラリ

前回の記事で上記それぞれの方法でツイート取得する方法をまとめているので、気になる方はチェックしてみてください。

OAuth認証の方がよりセキュアなのと、後述するライブラリにsearchメソッドが豊富です。ただしClientライブラリには学術用のメソッドが用意されているので、学術目的で申請が通った方はそちらを利用するのが良いかもしれません。

では、各ライブラリのsearchメソッドをまとめて見たいと思います。


【apiライブラリ】Search Tweets

無料かつ簡易版のsearchメソッドです。一応ツイートは取得できるので、試しに使ってみるのにはいいと思います。

・search_tweets()
untilという引数にYYYY-MM-DD形式で日付を渡せば、最大で過去7日間まで遡ってツイートを取得できます。ただしそもそも簡易版なので、きちんと使っていくには後述するPremiumの方が良いです。

その他の特徴は以下です。
* 1回の検索リクエストにつき100ツイートまで取得できる 
* ツイート内容は取得できるがツイート数は取得できない
* 完全検索はできない(自動で関連付けされて低いものは除外される)

↓ソースコードでパラメータを確認できます。



【apiライブラリ】Premium Search APIs

プレミアム版のsearchメソッドです。有料版が存在するのもここからです。

・search_30_day()
その名の通り過去30日間まで遡ってツイートを取得できます。無料版のSandboxと、有料版のPremiumという2コースあります。

無料版のその他の特徴は以下です。
* 1回の検索リクエストにつき100ツイートまで取得できる
* 月に25,000ツイートまで取得できる
* ツイート内容は取得できるがツイート数は取得できない
* 完全検索はできない(自動で関連付けされて低いものは除外される)

ツイート数の検索や完全検索は有料版で可能です。
↓また、ソースコードでパラメータを確認できます。


・search_full_archive()

Twitterが誕生した2006年3月まで遡ってツイートを取得できます。無料版のSandboxと、有料版のPremiumという2コースがあります。

無料版のその他の特徴は以下です。
* 1回の検索リクエストにつき100ツイートまで取得できる
* 月に5,000ツイートまで取得できる
* ツイート内容は取得できるがツイート数は取得できない
* 完全検索はできない(自動で関連付けされて低いものは除外される)

30日版との大きな違いは月に取得できるツイート数です。過去に遡れる分、件数が限定されます。

ツイート数の検索や完全検索は有料版で可能です。
↓また、ソースコードでパラメータを確認できます。



【Clientライブラリ】Search Tweets

・search_recent_tweets()
最大で過去7日間まで遡ってツイートを取得できます。

その他の特徴は以下です。
* 1回の検索リクエストにつき100ツイートまで取得できる(デフォルトは10)
* 自分のaccess levelに応じたツイートキャップ(月にどれくらいツイートを取得できるか)がかかる

access levelはEssential accessやElevated accessのことです。

↓ソースコードはこちらです

↓また、引数の一覧もありました


・search_all_tweets()
「Academic Research」という学術用の用途でAPI承認されたユーザーのみが使うことができます。学術用なので完全な検索が可能です。

特徴は以下です。
* 検索条件に沿った全てのツイートを取得できる
* Twitterが誕生した2006年3月まで遡って取得できる

上限などの記載はソースコードに見当たりませんでしたが、自分は学術用途で使わないので深掘りはしてません。


全体の中でみると一部ですが、search関連はこんな感じです!

ここまでお読みいただきありがとうございました。


参考



これまで修了したコース等

【YouTube_Django関係】
Pythonでウェブサービスを作ろう! 1
テンプレートをマスターしよう! 2
静的ファイルを配信しよう !3
本番公開しよう! 4
データベースと接続しよう! 5
ブログを作って学ぶモデル入門! 6
これが汎用ビューの力! 7
Djangoフォームを自由自在に操ろう! 8
djagoを最大限使って効率よくログインを作ろう! 9
ログイン完成!サインアップ & メール認証 10
データベースマイグレーション前編 15
データベースマイグレーション後編 16

【YouTube_Pandas関係】
3時間でマスター Pandas入門コース
Pandas20本ノック

【Paiza】
Aランクレベルアップメニュー 24/49問
データセット選択メニュー   12/17問
配列メニュー         64/64問
ループメニュー1      20/20問
ループメニュー2      12/20問
条件分岐メニュー       25/25問
二重ループメニュー      19/19問
配列活用メニュー       26/26問
文字列処理メニュー      30/30問
Bランクレベルアップメニュー 62/62問
Cランクレベルアップメニュー 30/30問
ランクB合格
ランクC合格
JavaScript体験篇       15/15講座
辞書(ディクショナリ)の基礎 8/8講座

【書籍/ブログ】
Django入門 | 初心者でも1時間でWebアプリ(Todoアプリ)を作成するコース
基礎からのMySQL
Web技術の基本
京大のPython教科書
Pythonデータベースプログラミング
Pythonエンジニアファーストブック

【Progate】
Python Ⅰ~Ⅴ
Python アプリ版 コースⅠ~Ⅴ
SQL Ⅰ~ Ⅳ
SQL アプリ版 コースⅢ
HTML&CSS 初級編

【環境構築】
Python, VSCode, MySQL(MAMP), Git / GitHub, HEROKU, anaconda, jupyter lab

この記事が気に入ったらサポートをしてみませんか?