Twitter APIを使ってツイートを取得する | ステップバイステップガイド
注意: TwitterはX(2023年より)にリブランドされました。プラットフォームのAPIは現在公式にX API(旧Twitter API)と呼ばれています。このガイドでは、現行の有効なバージョンであるX API v2を取り上げます。エンドポイントのURLはレガシーのapi.twitter.comドメインではなくapi.x.comを使用しています。古いTwitter API v1.1は廃止されており、新しいプロジェクトには利用できません。
ツイート取得のためのTwitter APIセットアップ: 初心者ガイド
ソーシャルメディア愛好家や開発者の皆さん、こんにちは!Twitterverse(Twitterの世界)に流れているツイートの宝庫にアクセスする方法が気になっていませんか?今日はTwitter API v2の世界に飛び込んで、280文字のコンテンツを取得する方法を解説します。
Twitter API v2とツイート取得プロセスに入る前に、日常生活におけるAPIの使われ方を理解しておくと役立ちます。日常生活でのAPIの実用例を確認して、実際の視点を得てみましょう。
Twitter API v2のアクセスレベルについて
コードを書き始める前に、Twitter API v2で取得できるさまざまなアクセスレベルについて確認しましょう。コンサートのチケット種別のように、それぞれ異なる体験を提供します。
概要は以下のとおりです。
Essentialアクセス: スターターパックです。このレベルは、開発者アカウントを作成すると自動的に付与されます。実験、学習、小規模プロジェクトの構築に最適です。標準的なエンドポイントにアクセスでき、毎月相当な量のツイートを取得できます。始めるには十分です。
Elevatedアクセス: 本格的な開発に挑戦する準備ができましたか?Elevatedアクセスでは制限が解除され、さらに多くのデータを取得できます。本番アプリや本格的なプロジェクトに最適です。デベロッパーポータル内で簡単なアプリケーションを提出する必要がありますが、一部の選ばれた人だけでなく、誰でも申請できます。
Academic Researchアクセス: 学術機関の研究者であれば、このアクセスは最高のチケットです。Academic Researchアクセスでは、より高いデータ制限が解除されるだけでなく、特に魅力的な機能として2006年のTwitter初のツイートまで遡ることができます。このレベルにはより詳細なアプリケーションが必要ですが、公開会話や時系列のトレンドを分析する場合には大きな武器となります。
Elevated+(近日公開): Twitterはさらに強力な新ティア「Elevated+」をほのめかしています。月間最大1,000万ツイートへのアクセスを約束するこのティアは、本格的なデータプロジェクトのためのものです。追加の機能が必要な方は早期アクセスのウェイトリストに登録できます。
まとめ:
Essential = 始める
Elevated = スケールアップ
Academic = 深掘り研究
Elevated+ = パワーユーザーの夢(近日公開)
セットアップに取り掛かる前に、ゼロからAPIの達人になる方法を確認してみましょう。
Twitterデータが重要な理由
Twitterはミームやニュース、意見の場であるだけでなく、日常の出来事から世論まであらゆるものを反映した巨大なクラウドソーシングデータストリームです。研究者や開発者はTwitterデータを活用して、疾病の流行を特定する健康監視システムの構築、リアルタイムの交通事故の検出、都市全体の食料アクセス状況の監視などを実現しています。可能性は無限大です。
もちろん、重要な点として覚えておくべきことがあります。Twitterユーザーは独特な人々で構成されており(カフェの奥のにぎやかなテーブルのようなもの)、ユーザーの10%がツイートの約80%を生み出しています。そのため、データは豊富ですが、独自の特徴やバイアスも持っています。
それでは始めましょう: Twitter API v2のポイント
TwitterのAPIの最新バージョンは、開発者にとって魅力的なツールです。ツイート取得の夢を実現するための優れた機能が揃っています。注目点を以下に示します。
よりスリムなレスポンス: 煩雑なデータとはお別れです。新しいAPIはよりわかりやすい形式で情報を提供します。
投票機能のサポート: Twitterの投票が好きですか?そのデータも取得できるようになりました。
スマートアノテーション: コンテキスト情報とエンティティ認識を使ってツイートが実際に何について書かれているかを把握できます。自然言語処理(NLP)に興味がある方には特に便利です。Twitter API v2では、エンティティアノテーション(人名、場所、組織など)とコンテキストアノテーション(ツイートが実際に何についてのものか)の両方をリクエストできます。チャットボットのトレーニングをしている場合でも、ツイート分析に熱中している場合でも、これまで以上に深く掘り下げることができます。
会話スレッド: 全体像を見逃すことはもうありません。会話スレッド全体を簡単に取得できます。
なぜ重要なのか?
ソーシャルメディアダッシュボードの構築、研究の実施、または単なる好奇心の満足など、Twitter API v2は無限の可能性を開きます。Twitterverseへのバックステージパスのようなものです。
準備はできましたか?次のセクションでは、デベロッパーアカウントのセットアップ、重要なAPIキーの取得、そして最初のAPIコールの方法について説明します。
Twitter APIの取得: セットアップ
それでは、Twitter APIアクセスのセットアップを進めていきましょう。見た目ほど難しくありません。
ステップ1: Twitter開発者になる
まず最初に、Twitter開発者アカウントを取得する必要があります。手順は以下のとおりです。
Twitter Developer Platformのウェブサイトにアクセスします。
「Sign Up」ボタンをクリックして、指示に従います。
APIの使用目的についてのアイデアを記入します。
承認を待ちます。(Twitterはかなり迅速に対応してくれます。)
ステップ2: Twitterプロジェクトを作成する
登録が完了したら、プロジェクトを作成します。
Twitter Developer Portalにログインします。
「Create Project」ボタンを探してクリックします。
プロジェクトにわかりやすい名前をつけます。
計画に最適なユースケースを選択します。
行う内容についての簡単な説明を記入します。
ステップ3: アプリを接続する
次はアプリのセットアップです。
新しいプロジェクトに「Add App」または「Create App」のオプションが表示されます。
新規作成の場合は「Create App」をクリックして名前をつけます。
既存のアプリがある場合は、新しいプロジェクトに接続するだけです。
ステップ4: Twitter Kingdomへのキーを取得する
ここでVIPアクセスを取得します。
アプリが作成されると、API Key、API Secret Key、Bearer Tokenが表示されます。
これらは大切なアクセスキーです。ローカルマシンに安全にコピーして保存してください。
プロのヒント: これらのキーを公開しないでください。Twitter APIのパスワードのようなものです。
これで正式にTwitter開発者アクセスのセットアップが完了しました。Twitter APIウィザードへの第一歩を踏み出しました。
最初のツイートを取得する: APIを活用しましょう!
APIキーが揃ったところで、いよいよ最初のAPIリクエストを行う時です。コマンドライン派からPython愛好家まで、さまざまな方に対応したオプションがあります。
重要: レート制限を理解する
APIリクエストを大量に送る前に、重要な制限について理解しておきましょう。Twitterはすべての人が公平に利用でき、サーバーが快適に動作するようにレート制限を設けています。
Essentialアクセスレベルの場合、この特定のエンドポイントに対して15分ごとに最大180リクエストを行えます。これは約5秒に1リクエストとなります。リクエスト間に短い間隔を設けることをお勧めします。そうしないと、エラーや一時的なブロックが発生する可能性があります。各データ取得の間に5秒の休憩を入れるだけで十分です。
難しく考える必要はありません。この間隔を組み込むことで、Twitterのルール内に収まり安全に利用できます。
オプション1: コマンドラインを使う(cURL)
ターミナルが好きな方には、cURLが最適なツールです。
ターミナルを開きます。
このコマンドをコピーします(まだEnterキーは押さないでください)。
curl --request GET 'https://api.x.com/2/tweets/search/recent?query=from:twitterdev' --header 'Authorization: Bearer $BEARER_TOKEN'$BEARER_TOKENを実際のBearer Tokenに置き換えます。
Enterキーを押して魔法を体験してください。@TwitterDevからの最近のツイートを含むJSONレスポンスが表示されます。
実際に何が返ってくるのか?
コマンドを実行すると、JSONのチャンクが返ってきます。中身は以下のとおりです。
メインのレスポンスは2つのキーを持つ辞書です。
ツイートのリストが含まれており、各ツイートはリクエストしたすべてのツイートフィールドを含む辞書として表示されます。
取得したツイート数、最新と最古のツイートのID、そして(さらに多くのツイートを取得する場合に使用する)ページネーショントークンなどの情報が含まれます。
注意: Twitterの開発者ガイドラインにより、ここでは実際のツイートデータは表示されませんが、ご自身のターミナルにはツイートデータが表示されます。
おめでとうございます!シンプルなcURLリクエストで最初のツイートバッチを取得し、レスポンス構造を確認できました。APIの世界はあなたのものです。
ボーナス: データのフラット化とプロのような処理
コマンドラインツールを使ってツイートデータを収集しましたが、新しいデータセットがAPIレスポンスごとに1つの大きなチャンクとして整理されていて、きれいな行ごとのフォーマットではない場合はどうでしょうか?そこでフラット化の出番です。イヤホンのコードを解くよりも簡単です。
手順:
生データを収集します。 たとえば、ユーザーIDのリストで
twarc2 timelinesコマンドを実行した場合、出力(例:results.jsonl)は1行に1つのAPIレスポンス(多くの場合複数のツイートを含む)が含まれています。データをフラット化します。 ネストされたJSONと格闘する代わりに、フラット化ユーティリティを使用します。twarcでは以下を使用します。
twarc2 flatten results.jsonl tweets.jsonlこれで、すべてのツイートが
tweets.jsonlの独立した行になります。ネストされたオブジェクトを掘り下げる必要がなくなりました。データベースや分析ツールに移行します。 最新のデータベース(MongoDBなど)やデータ処理ライブラリはこのフォーマットが大好きです。フラット化されたファイルをインポートするだけで、すぐに分析を開始できます。
この方法で生データをシンプルで検索・処理・可視化しやすいデータセットに変換できます。ダッシュボードを構築する場合でも、データサイエンスに取り組む場合でも役立ちます。さらに、大量のデータ整理時間を節約できるため、すぐにインサイトの抽出に取り掛かれます。
オプション2: Pythonを使う
Pythonが得意な方向けです。
GitHub上のTwitter API v2サンプルコードにアクセスします。
リポジトリをダウンロードまたはクローンします。
recent_search.pyファイルに移動します。
requestsライブラリがインストールされていることを確認します(pip install requests)。
Bearer Tokenを環境変数として設定します。
export 'BEARER_TOKEN'='your_actual_bearer_token_here'スクリプトを実行します: python3 recent_search.py
これでPythonを使ってツイートを取得できました。スクリプト内のクエリを調整して異なるツイートを取得してみましょう。
内部でどのように動作しているかを理解してみましょう。
スクリプトのセットアップ
まず、Pythonパッケージを読み込み、Bearer Tokenの認証情報を取得します(環境変数を使用すると、キーを安全に保ちながら使用できます)。
ツイートの検索条件を定義する
たとえば、英語で「heat pump」または「heat pumps」に言及したツイートを検索し、リツイートを除外したい場合は、エンドポイントとクエリパラメータを以下のように設定します。
query: 検索する内容(この場合、リツイートを除いたheat pumpsに関する英語ツイート)
tweet.fields: 取得したい詳細(ツイートID、テキスト、著者、日付)
max_results: リクエストあたりのツイート数
リクエストを送信する
ヘッダーにBearer Tokenを含める必要があります。
エンドポイントに接続して基本的なエラーチェックを処理しましょう。
カスタマイズ
最大の利点は、queryを変更することで好きなトピックのツイートを取得できることです。お気に入りのハッシュタグ、ユーザー、またはトピックを検索してみましょう。データへの好奇心を自由に解き放ってください。
これがPythonを使ったTwitterのツイートストリームへのチケットです。サンプルスクリプトを実行するか、独自のスクリプトを構築するかにかかわらず、プロのようにツイートを取得できるようになりました。
プロモード: Pythonで複数ルールをループ処理する
Twitter APIのスキルをレベルアップする準備はできましたか?1つだけでなく、いくつかの異なる検索ルールに一致するツイートを収集したい場合を想定してみましょう。プロセスを自動化して、すべてのルールのツイートとユーザー情報を取得する方法を紹介します。
まず、2つの空のpandas DataFrameを準備します。1つはツイート用、もう1つはユーザー用です。ルールのコレクションをループして、毎回クエリフィールドを更新することで、各ルールの新しいツイートとユーザーのバッチを取得します。
基本的なワークフローは以下のとおりです。
空のDataFrameを設定します(ツイート用とユーザー用の2つ)。
リスト内の各ルールに対して、クエリパラメータを更新して現在のルールに一致する検索を行います。
Twitterエンドポイントにリクエストを送信してレスポンスを処理する関数を呼び出します。新しいツイートとユーザーをDataFrameにマージすることを忘れずに。
Twitterのレート制限を尊重します。各リクエストの後にtime.sleep(5)を入れて、レート制限に引っかからないようにしましょう。(Essentialアクセスでは15分あたり最大180リクエスト、つまり約5秒に1回です。)
ページネーションを処理します。レスポンスの「meta」フィールドに「next_token」が含まれている場合は、そのルールの利用可能なすべてのツイートを取得するまで追加ページを取得し続けます。
最終結果として、関心のあるすべてのルールのツイートとユーザー詳細が含まれた堅牢なDataFrameが手に入ります。レート制限を破ることなく、簡単に実現できます。
APIエラーをプロのように処理する
ツイートの取得中に問題が発生した場合はどうすればよいでしょうか?TwitterのAPIはステータスコードで話しかけてきます。適切なテクニックを使えば、どんなエラーもベテラン開発者のように対処できます。
対処方法は以下のとおりです。
レスポンスを確認する:
リクエストを行った後は、必ずresponse.status_codeを確認します。200の場合は成功です。
400番台(401や403など)の場合は何かがおかしい状態です。通常は認証情報や権限の問題です。この場合はプログラムを停止して調査してください。同じエラーが繰り返されるだけです。
500番台のコードはTwitter側の問題です。通常は一時的なものです。
APIに負荷をかけない:
一時的なエラー(502、503、504など)が発生した場合はリクエストを繰り返さないでください。代わりに:再試行する前に少し待ちます。5〜60秒のランダムなスリープタイマーが効果的です(Pythonの
time.sleep()が役立ちます)。再試行後も問題が続く場合は、さらに長く待つか、TwitterのAPIステータスページで広範な問題がないか確認します。
重大なエラーは例外として処理する:
クライアント側のエラー(ステータス4xx)の場合は、デバッグに役立てるためすべての詳細を含む例外を発生させます。
これらのチェックとバランスをスクリプトに組み込むことで、Twitter APIの利用がよりスムーズになります。
オプション3: GUIを使う(Qodex)
クリックの方がコーディングより好きな方向けです。
Qodex.aiにアクセスします。
Qodexで新しいリクエストを作成します。
リクエストタイプをGETに設定します。
このURLを使用します: https://api.x.com/2/tweets/search/recent?query=from:twitterdev
Headersタブで、Authorizationをキーとして、Bearer あなたの実際のBearer Tokenを値として追加します。
Sendをクリックして、ツイートが流れ込んでくるのを確認してください。
ボーナス: 豊富なライブラリ
コーディングをより効率化したいですか?Twitterのツールとライブラリのページをチェックしてみましょう。API v2をサポートするさまざまなプログラミング言語用のライブラリがあります。開発を大幅に楽にしてくれます。
学術研究のためのツイート取得のトラブルシューティング
学術目的でツイートを取得しようとすると、謎のエラーや難解な要件に遭遇することがあります。サードパーティライブラリやコマンドラインツール(twarc、Tweepyなど)を使用している場合に遭遇する一般的な問題と、その対処法を紹介します。
1. ツイートアーカイブへの限定的なアクセス
デフォルトでは、ほとんどの開発者は過去7日間のツイートにしかアクセスできません(APIの制限のため)。より広い日付範囲が必要な場合はAcademicアクセスが必要ですが、これは別途申請が必要で、場合によっては段階的に廃止されています。
回避策: ライブ検索の代わりに、ハイドレートできるオープンデータセットを探しましょう。研究に使用できる公開ツイートアーカイブには、https://catalog.docnow.io/ を確認してください。ツイートIDを入手したら、twarcなどのツールを使ってコンテンツ全体を取得できます。
2. クエリパラメータの混乱
通常の検索プラットフォームとは異なり、一部のライブラリは特定のパラメータ命名規則を必要とします。たとえば、APIクエリでは
since:やuntil:などの従来の検索演算子は使用できません。代わりに、ツールに応じてstart_timeとend_timeパラメータ、またはその同等のものを使用する必要があります。プロのヒント: ライブラリのドキュメントで正しい構文を確認し、実行する前にサンプルをダブルチェックしましょう。
3. 認証の問題
間違った認証情報を使用していませんか?多くのAPIは適切なアクセスレベル(特にAcademicエンドポイント)に紐づいたBearer Tokenを要求します。Academic用ではなく基本プロジェクトのトークンを使用するとクライアントエラーが発生することがよくあります。
解決策: デベロッパーポータルにアクセスし、トークンがどのアプリに紐づいているかを確認し、Academic Researchとしてフラグが立てられているものを使用していることを確認してください。標準アクセスしかない場合、取得制限はより厳しくなります。
4. レート制限とデータ量の対処
ほとんどのAPIは1リクエストまたはユーザーあたりのツイート取得数に上限を設けています(多くの場合、アカウントあたり最新3,200ツイートが上限)。
戦略: より大きなデータセットには、リクエストを分割するか、ローカルデータ処理スクリプトを使用して複数のレスポンスをフラット化して結合します。
5. データのインポートと処理
ほとんどのコマンドラインツールはJSONL形式でツイートを出力します。これは処理が簡単です。twarcの
flattenなどのツール機能を使って結果を簡素化し、より深い分析のためにMongoDBなどのデータベースに直接インポートできます。
データ取得のためのクイックヒント:
古いチュートリアルに注意してください。APIエンドポイントとアクセスレベルは頻繁に変更されます。
詰まった場合は、動画ガイドやライブコーディングセッションを探してみましょう。リソースを共有する活発な学術コミュニティがあります。
全パイプラインを実行する前に、少規模でキーとクエリをテストします。
時には暗号のようなエラーメッセージに直面することもあります。落ち着いて、セットアップ(Bearer Token、アクセスレベル、正しいパラメータ)を確認し、検索することをためらわないでください。それもすべて冒険の一部です。
トラブルシューティングの知識を蓄えたので、さらに深く掘り下げていきましょう。
ボーナスラウンド: Twarcを使った高度なツイート収集
7日間の壁にぶつからずに、カスタムユーザーIDリストからツイートを取得するレベルアップを目指しますか?強力なツールを呼び出す時です。Twitter データ収集のスイスアーミーナイフ、Twarcをご紹介します。
Twarcを使えば、特定のユーザーから任意の日付範囲にわたってツイートを取得できます(ツイートが利用可能な限り)。この便利なツールの使い方を紹介します。
ステップ1: インストールとセットアップ
Pythonがインストールされていることを確認します。
ターミナルを開いて実行します:
pip install twarcAPIキーでTwarcを認証する必要があります。以下で初期化します:
twarc2 configure
プロンプトに従ってキーを入力します。
ステップ2: ユーザーIDリストを準備する
各ユーザーIDをテキストファイルの各行に記入します。例:
twitter_ids.txt
ステップ3: 日付範囲のツイートを取得する
以下のコマンドを使用して、指定した日付範囲でユーザーのツイートを取得します。
twarc2 timelines --start-time "YYYY-MM-DD" --end-time "YYYY-MM-DD" --use-search twitter_ids.txt results.jsonlYYYY-MM-DDを実際の開始日と終了日に置き換えます。results.jsonlファイルに生のツイートデータが保存されます。
ステップ4: データをフラット化する
Twarcは1行に1つのAPIレスポンスを保存します。1ツイート1行にするには(処理がはるかに簡単になります)、以下を実行します。
twarc2 flatten results.jsonl tweets.jsonlこれで、
tweets.jsonlには分析やインポートに適した個別のツイートが含まれます。
ステップ5: オプション - データベースにインポートする
データをたくさん保存したい場合は、
tweets.jsonlをMongoDBなどのデータベースに直接インポートして詳細な分析ができます。
さらにガイダンスが必要な場合:
Twarcの公式ドキュメントとコミュニティチュートリアルは好奇心旺盛なデータ愛好家にとって宝の山です。
動画ウォークスルーやガイドで素早く実践的に始められます。
Twarcのようなサードパーティツールを使えば、最近のツイートだけに限らず、特定ユーザーの時間軸にわたった強力なカスタムツイートコレクションを構築できます。
ボーナス: 次のレベルの分析のためにMongoDBにツイートを保存する
ツイートの取得はほんの始まりです。将来の数値分析やトレンド検出のためにTwitterデータを安全な場所に保存したいと思いませんか?そこでMongoDBの出番です。
収集したツイートをPythonからMongoDBに最小限の手間で移行する実践的なガイドを紹介します。pymongoライブラリが必要ですので、まだインストールしていない場合はターミナルを開いて実行します。
pip install pymongo
準備ができたら、進めましょう。
MongoDBに接続する:
pymongoをインポートしてMongoDBインスタンスに接続します(MongoDBがマシンで実行されているか、接続文字列が正しいサーバーを指していることを確認してください)。from pymongo import MongoClientclient = MongoClient('localhost', 27017)db = client['Twitter']collection = db['Tweets']データを準備する:
上記のPythonの方法でAPIからツイートを取得すると、通常は辞書として受け取れます。MongoDBに最適な形式です。各ツイートをコレクションに挿入します。一度に多くのツイートを挿入する場合は、
insert_manyを使用してください。確認と分析:
インポート後に簡単なクエリでデータを確認できます。
これでTwitterデータの宝庫がMongoDBに安全に格納され、分析、感情スコアリング、機械学習など、あらゆる用途に活用できる状態になりました。
大規模な分析に真剣に取り組む場合、このパイプラインにより数百万のツイートを検索、フィルタリング、統計処理することが、お気に入りのデータベースエクスプローラーから快適に行えます。
Recent Searchエンドポイントをマスターする: Twitterデータへの入口
基本を習得したところで、Recent Searchエンドポイントをさらに深く掘り下げてみましょう。この強力なツールは、過去7日間の特定のツイートを見つけるための入口です。活用方法を紹介します。
Essentialアクセスのルール制限: 細かい規則
巧みなクエリを作り始める前に、制約を理解しておきましょう。Essentialアクセスでは、ツイート収集のためのルールを最大5つ設定できます。各ルールは必要なだけ詳細に設定できますが、各ルールは512文字に制限されています。そのため、検索ロジックを優先してオペレーターを賢く使う必要があります。
これらのルールや文字数制限に達した場合は、アクセスレベルのアップグレードを検討するべき時かもしれません。ただし、ほとんどの初心者や一般的なプロジェクトでは、よく計画された5つのルールで十分始められます。
基本的なクエリ構造
Recent Searchエンドポイントはクエリが中心です。シンプルな構造を示します。
https://api.x.com/2/tweets/search/recent?query=your_search_terms_hereたとえば、猫に関するツイートを検索する場合:
https://api.x.com/2/tweets/search/recent?query=cats1リクエストで取得できるツイート数は?
1回のAPIコールで取得できるTwitterデータの量が気になりますか?Recent Searchエンドポイントへの各リクエストで一度に最大100ツイートを取得できます。それ以上必要な場合は、レスポンスに含まれるページネーショントークンを使用して、過去7日間からさらに多くのツイートを収集できます。
特定データのクエリ変更
さらに詳細な検索を試してみましょう。
特定のユーザーからのツイート: from:username
ハッシュタグを含む: #hashtag
メディア付きツイート: has:images または has:videos
特定言語のツイート: lang:en(英語の場合)
クエリの精度を上げる方法
クエリを精度良く設定することは、関連性の高いTwitterデータを大量の不要なツイートに埋もれることなく収集するための秘訣です。最初の検索結果は少し雑であったり、広すぎる場合があります。それは正常です。すべてはプロセスの一部です。
なぜ精度が重要なのか?ターゲットを絞ったクエリにより、プロジェクトに実際に関連するツイートを収集できます。たとえば、Swiftプログラミング言語についてのツイートを検索するときに調整しないと、Taylor Swiftファンの話題の波に飲み込まれてしまうかもしれません。
クエリを鋭く保つためのヒント:
関係のないトピックを除外するためにキーワードを調整します。
高度な検索演算子を使用します(例: ポップスターなしのSwiftが必要な場合は-taylorを使用)。
初期の結果を調べて、その結果に基づいてクエリ条件を調整します。まるでラジオをチューニングするようなものです。
目的のデータが得られるまで繰り返します。
この注意は、リアルタイムのデータ収集において特に重要です。正確なターゲティングなしでは、実際に重要なツイートを見落としてしまう可能性があります。クエリを丁寧に調整することで、すぐに適切なデータを収集できるようになります。
プロのヒント: 関連ツイートのための効果的なルール作成
Twitter データ収集のスキルをレベルアップする準備はできましたか?秘訣はスマートでピンポイントのクエリを書くことです。必要なツイートだけを正確にターゲットにする方法を紹介します。
具体的に始めましょう。正確にターゲット層を絞り込むために、狭いクエリから始め、結果が不十分な場合は広げていきます。
フィルターを活用します。キーワード、ハッシュタグ、「from:」ユーザー名、メディアタイプ、言語コードを組み合わせて不要なノイズを除外します。
テストして調整します。サンプル検索を実行し、結果を確認し、不要なツイートを除外するためにクエリを調整します。
曖昧なキーワードに注意してください。たとえば、「Swift」で検索すると、プログラミングの話題ではなくTaylor Swiftの投稿が表示される場合があります。「Swift language」や「#iOSDev」のようなキーワードを追加してコンテキストを明確にしましょう。
設定したままにしないでください。ツイートを収集しながら、品質と関連性を向上させるためにルールを継続的に改善します。データ収集は継続的なプロセスです。
各調整により、ターゲットを絞ったアクション可能なTwitterデータの宝庫を構築に近づいています。
これらを組み合わせてより精度の高い結果を得る:
query=cats from:ASPCA has:images lang:enこれにより、@ASPCAから画像付きの英語での猫についてのツイートが取得できます。
next_tokenを使ったページネーション
ツイートの1ページだけでは不十分な場合、TwitterのAPIはページネーションを通じて対応しています。使い方を説明します。
すべてのAPIコール後に、JSONレスポンスの
metaセクションを確認します。next_tokenフィールドがある場合は、さらに多くのツイートが待っています。その
next_tokenの値を取得して、次のリクエストに&next_token=your_token_hereとしてクエリパラメータに追加します。
毎回最新のnext_tokenを使用することを繰り返すと、トークンが消えるまで結果のページをめくり続けられます。トークンが消えたとき、検索の利用可能なツイートの最後に到達したことを意味します。
日付範囲でのツイートフィルタリング: 正しい方法
特定の日付範囲のツイートを取得したい場合は、クエリ文字列にsince:やuntil:のような日付を直接含めるのではなく、専用のURLパラメータを使用して時間フィルタリングを行います。
手順は以下のとおりです。
start_timeを使用して取得したいツイートの最も早い日時を設定します。end_timeを使用して最も遅い日時を設定します。
どちらもISO 8601形式(例: 2024-01-01T00:00:00Z)で指定する必要があります。
URLの例:https://api.x.com/2/tweets/search/recent?query=cats&start_time=2024-06-01T00:00:00Z&end_time=2024-06-03T00:00:00Z
これにより、2024年6月1日から2024年6月3日(未満)の間の「cats」を含むツイートが取得されます。
プロのヒント: twitter-api-v2(JavaScript用)のような人気のあるライブラリはこれらのパラメータをサポートしています。関連する検索メソッドを呼び出すときにパラメータを渡すだけです。
正確な時間範囲を設定する方法を知ったので、Twitterのタイムマシンを構築する準備ができています。
プロのヒント: 特定ユーザーの日付範囲のツイートを取得する
特定のユーザーIDからカスタムの時間範囲(たとえばCovid期間)のツイートを取得したい場合はどうすればよいでしょうか?実は可能です。
まず、重要なルールを確認します。日付によるクエリを行う場合、Recent Searchエンドポイントでは過去7日間のツイートのみ取得できます。さらに遡ったツイートが必要な場合(たとえばCovid期間全体)は、フルアーカイブへのアクセスが必要で、通常はAcademic Researchアクセスが必要です。その選択肢がない場合でも、以下で便利な回避策を紹介します。
シンプルな取得のためのPythonとTweepyを使う(最近のみ):
目的の日付が先週の範囲内であれば、Tweepyが便利です。手順は以下のとおりです。
いつも通りAPIキーで認証します。
日付範囲でフィルタリングする場合は、検索キーワードではなく
start_timeとend_timeパラメータを使用します。ユーザーIDをループしてリクエストを行います。
深掘りのために: コマンドラインツールで古いツイートを取得する
7日以上前のツイートが必要な場合は、本格的なデータ取得にTwarcなどのツールを使用することをお勧めします。
ユーザーIDをテキストファイルに1行ずつ保存します。例:
twitter_ids.txt特定の時間枠でタイムラインを取得します。
Academic Researchアクセスがあれば、フルアーカイブ全体を取得できます。そうでない場合は、日付に関係なく各ユーザーの最新約3,200ツイートに制限されます。
オプション: 結果をフラット化して1ツイート1行にします。
twarc2 flatten results.jsonl tweets.jsonl
次に
tweets.jsonlをお好みのデータベースにインポートして分析できます。
トラブルシューティングのヒント:
正しいBearer Tokenを使用していることを確認してください。AcademicエンドポイントにはAcademic Research専用のアプリのアクセスが必要です。
権限の問題が発生した場合は、Twitter Developer PortalでプロジェクトタイプをダブルチェックM
Academicアクセスがない場合は、最近のツイートに制限されますが、ユーザーあたり相当量のサンプルを収集できます。
これらのアプローチにより、プロジェクトが求めるどんな時間帯でも、特定のユーザーセットからツイートを取得する準備が整います。
高度な検索ルールの作成
検索をレベルアップする準備はできましたか?Recent Searchエンドポイントはプレーンなキーワード検索だけではなく、特定の会話をキャプチャするためのルールを設定できます。
たとえば、「heat pumps」または「gas boilers」についてのツイートを取得したいが、リツイートをすべてスキップして英語のツイートだけに絞りたい場合、Twitter APIはクエリルール構文を使用することで簡単に実現できます。検索ルールをコードで定義する方法を示します。
各ルールはミニ検索コマンドです。
ORを使って、人々がトピックに言及するさまざまな方法を捉えます。-is:retweetを使ってリツイートを除外し(重複を避けるため)します。英語などの言語を設定します(
lang:en)。
タグは結果をラベル付けして整理するのに役立ち、どのルールがどのツイートをキャッチしたかを簡単に追跡できます。Essentialアクセスレベルでは最大5つのルールを定義でき、それぞれ最大512文字です。検索ロジックを工夫する十分なスペースがあります。
フィールドと展開の使用
より詳細なレスポンスを得るには、フィールドと展開を使用します。
ツイートフィールドを追加する: tweet.fields=created_at,author_id,public_metrics
ユーザーデータを含める: expansions=author_id&user.fields=username,verified
URLの例:
https://api.x.com/2/tweets/search/recent?query=cats&tweet.fields=created_at,author_id,public_metrics&expansions=author_id&user.fields=username,verifiedこれにより、各ツイートの作成時間、著者情報、エンゲージメント指標が得られます。
注意: ユーザーデータを実際に受け取るには、上記のパラメータを追加する必要があります。追加すると、レスポンスJSONに新しいキーが含まれ、ユーザー名や著者が認証済みかどうかなどのユーザー関連情報が表示されます。これにより、ツイートデータとユーザー情報の照合が大幅に簡単になります。
演算子を使った強力なクエリの構築
さらに便利な機能があります。演算子を使って完璧なクエリを作成することが本当の魔法です。Recent SearchとFiltered Streamエンドポイントでは、ツイートのテキスト、ユーザープロフィール、場所など様々な条件でツイートをフィルタリングするルールを構築できます。各エンドポイントには独自の演算子セットがあり、APIアクセスレベルによって異なる場合があります。
たとえば、「black cat(s)」に言及するツイートを取得したいが、「dog(s)」を除外し、リツイートをスキップしたい場合、クエリは以下のようになります。
意味の解説:
どちらかのフレーズを含むツイートを検索します。
「dog」または「dogs」に言及するツイートを除外します。
リツイートを除外してオリジナルコンテンツのみにします。
演算子の優先度のヒント:
ANDはORよりも優先度が高いため、常に括弧を使ってロジックを制御してください。
便利な演算子例:
特定のユーザーからのツイート
ハッシュタグを含むツイート
メディア付きツイート
英語のツイート
リツイートや返信のフィルター
演算子の完全なリストは公式ドキュメントを参照してください。
ボーナスツール:
複雑なクエリの構築が難しいと感じる場合は、Twitterのクエリビルダーツールを試して視覚的にフィルターを試してみましょう。また、Twitter データ用の高品質フィルターの構築に関するガイドも多数あります。
これらのクエリスキルを習得すれば、プロのようにTwitterデータをスライスして分析できます。
さらに進む: ページネーションとレート制限
1ページ以上のツイートを収集したい場合のプロの方法を紹介します。
next_tokenによるページネーション: TwitterのAPIは結果をページ単位で返します。各レスポンスには
metaフィールドにnext_token値が含まれる場合があります。このトークンが見えている限り、それを取得して次のリクエストのクエリパラメータとして追加すれば、次のバッチのツイートが得られます。next_tokenがなくなるまで繰り返します。レート制限を守る: Twitterはレート制限を設けており、Essentialアクセスレベルでは通常15分あたり180リクエストです。これは約5秒に1リクエストです。多くのページをループする場合は、エラーを避けるために短い
sleep(約5秒)を入れましょう。
例: 複数ルールのループ処理
複数の検索ルール(たとえば「cats」「dogs」「parrots」)に基づいてツイートを収集している場合、Pythonでの構造は以下のようになります(明確さのための擬似コード)。
処理の内容:
ツイートとユーザー情報を保存するための空のpandas DataFrameが設定されます。
各ルール(またはトピック)に対して、クエリとタグを更新し、APIコールを行い、データを処理し、5秒間待機します。
next_tokenがある場合は、そのルールの利用可能なすべてのツイートを収集するまでページネーションを続けます。リクエスト間の5秒の休憩により、Twitterのレート制限の安全範囲内に収まります。
これで、データを無駄にしたりAPIのルールに違反したりすることなく、熟練したデータ収集者としてツイートを収集できます。
プロのヒント: 基本を超えた応用
上記の例では、過去7日間の履歴データを取得するためにRecent Searchエンドポイントを使用しましたが、ほぼリアルタイムでツイートを取得するためにも使用できることをご存知でしたか?パラメータを活用することで、特定のツイートIDより新しいツイートのみを取得でき、新しいコンテンツが流れ込んでくるときに常に最新の情報を把握するのに最適です。このパラメータの詳細はTwitterの公式ドキュメントを参照してください。
真のリアルタイムなデータストリームを求める場合は、Filtered Streamエンドポイントの使用を検討してください。Recent Searchはオンデマンドクエリに最適ですが、Filtered Streamでは発生するツイートをリアルタイムで継続的に収集できます。ライブ監視、ダッシュボード、または一つも見逃せない場合に最適です。
これらのテクニックにより、過去を検索するだけでなく、現在にもアクセスできます。
アクセス問題のトラブルシューティング: すべてのツイートを検索できない場合
過去のツイート検索に行き詰まっていますか?APIの認証情報やアクセスレベルがフルアーカイブ検索に対応していない場合の対処法を紹介します。
アクセスレベルを確認する: ほとんどの初心者または「Essential」のTwitter APIキーはRecent Searchエンドポイント(過去7日間)にのみアクセスでき、フル履歴検索はサポートされていません。フルアーカイブへのアクセスはAcademic Researchアクセスが必要です。
Academicアクセスを探す:
/search/allを利用するには、Academic Researchアクセスが必要です。これは通常、Twitter Developerダッシュボードで「Academic Research (For non-commercial use only)」と表示されます。これなしでは、最近のツイートに制限されます。回避策としてユーザータイムラインを試す: さらに遡ったツイートが必要な場合は、各ユーザーの最新約3,200ツイートを取得するためにユーザータイムラインから取得することを検討します。twarcやPython Tweepyなどの多くのライブラリでこのデータを取得できますが、最新ツイートの範囲内の任意の日付範囲は指定できません。
アプリのBearer Tokenを確認する: 正しいキーセットを使用していることを確認してください。特にアカウントに複数のTwitter開発者プロジェクトやアプリが接続されている場合は注意が必要です。時にはトークンの混乱が原因であることもあります。
ツイート履歴への扉が閉まっているように見えても心配しないでください。ユーザータイムラインエンドポイントを探索し、できるだけ多くのデータを収集し、将来のアップグレードに備えてアクセスティアを常に確認してください。
無料・Essentialアクセス: 過去に遡るのはそれほど簡単ではありません
過去のツイートを深く掘り下げる計画を立てる前に、いくつかの障壁について知っておく必要があります。TwitterなどのほとんどのソーシャルメディアAPIでは、無料またはEssentialアクセスには厳格な時間制限があります。通常、標準の検索エンドポイントを使用して過去7日間のツイートのみ取得できます。数ヶ月や数年前に遡りたい場合は、Academic以上のアクセス権限を確保しない限り壁にぶつかります。しかも、現在は追加の手順が必要で、多くの場合まったく利用できません。
回避策とデータセット
古いツイートが必要でも絶望する必要はありません。データを入手するための巧みな方法があります。
事前収集データセット: DocNowのような組織は、さまざまなトピックのパブリックツイートデータセットをキュレーションして公開しています。アクセス制限に対処せずに過去のデータが必要な研究者にとって人気のある選択肢です。
ハイドレーションツール:
twarcなどのツールを使用して、これらのパブリックアーカイブのツイートIDリストから完全なツイートオブジェクトを「ハイドレート」(取得)できます。IDを提供すれば、twarcがAPIを通じてテキストとメタデータを取得します(アクセスレベルの範囲内で)。
コマンドラインのパワーアップ
標準の検索エンドポイントでは遠い過去のツイートをスキャンできませんが、以下の操作は引き続き可能です。
個々のユーザータイムラインから最新3,200ツイートまで取得できます。
日付範囲などのフィルターを適用できますが(ツールでサポートされている場合)、古いコンテンツがアンロックされるわけではなく、アクセス可能な範囲内で絞り込むだけです。
アクセスレベルについての注意
適切なAcademic認証情報なしに/search/allエンドポイントなどを使用しようとすると、権限なしのエラーが表示されます。この機能を使えるのは承認済みのAcademicプロジェクトを持つユーザーのみです。
まとめ:
Academicアクセスがない限り、APIデータはタイムマシンではなくバックミラーのようなものと考えてください。深い歴史的な分析のためには、パブリックデータセットとハイドレーションツールが最善です。それ以外のすべてについては、期待値(とスクリプト)を最近の履歴のみに設定してください。
これで、Recent Searchエンドポイントを最大限に活用し、時間を遡りたくなった際の境界線がわかりました。
過去のツイート取得時の一般的なエラーとその対処法
過去のツイートを取得することには独自の課題があります。一般的な落とし穴と対処法を紹介します。
1. 7日間検索制限への到達
Academicアクセスなしでは、ほとんどのAPI(Twitterの標準サービスを含む)は過去7日間のツイートのみ検索できます。さらに遡ろうとすると「結果なし」の壁にぶつかるか、漠然としたエラーメッセージが表示されます。古いデータが必要な場合は、DocNow Catalogなどのリソースからキュレーションされたデータセットを使用し、ツイートIDを「ハイドレート」することを検討してください。
2. 誤ったクエリ構文
検索クエリにsince:やuntil:を直接入れたくなりますが、正しい方法はstart_timeとend_timeをパラメータとして使用することです(クエリ文字列ではなく)。一部のツールでは専用オプションとして使用する必要があります。検索結果が得られない場合はドキュメントをダブルチェックしてください。
3. 認証の混乱
「Client Error」や「Unauthorized」などの多くのエラーは、一致しないまたは欠落しているBearer Tokenが原因です。正しいアクセスレベルに関連付けられた正確なトークンを使用していることを確認してください。AcademicアクセスエンドポイントにはAcademic Researchプロジェクトにリンクされた特別な認証情報のみが機能します。
4. APIエンドポイントとアクセスの不一致
より高いアクセスティアが必要なエンドポイント(例: /search/all)を使用しているが、標準またはEssentialアクセスしかない場合は拒否されます。アクセスレベルでどのエンドポイントがカバーされているかを確認してください。
5. ライブラリとツールの一般的な落とし穴
Twarcやその他のオープンソースライブラリを使用している場合:
コマンドラインオプションがアクセスレベルに合っていることをダブルチェックしてください
バルクタイムラインには、Academicの認証情報がない限り
--use-searchなどの高度なフラグを使用しないでくださいflatten機能を使って複数ツイートのレスポンスを個別のツイートに分解します。これにより別の場所(MongoDBなど)にインポートしやすくなります。
クイックトラブルシューティングチェックリスト
認証キーが目的のエンドポイントに対して正しく有効であることを確認します
クエリパラメータのタイポや位置ずれをダブルチェックします
より多くのデータが必要な場合は、パブリックデータセットとツイートIDのハイドレートを組み合わせることを検討します
すべてが失敗した場合は、ドキュメントを参照するか、ライブラリメンテナーのチュートリアルからサンプルコードを試してください
これらのヒントにより、最も一般的な障害を回避してデータパイプラインをスムーズに維持できます。
過去のツイートを掘り下げる: アクセスが制限されている場合の代替方法
ツイートアーカイブを探しているが、通常のエンドポイントが障壁になっている場合はどうすればよいでしょうか?API権限が問題のとき、過去のTwitterデータを収集するためのオプションを探ってみましょう。
事前収集データセット: 近道
素早く始めたい場合は、キュレーションされたデータセットが最適です。DocNow Catalog(https://catalog.docnow.io/)のようなウェブサイトは、主要なイベントからミームまで幅広いトピックのツイートIDコレクションを提供しています。これらのデータセットにはツイートの全文は含まれていませんが、「ハイドレーション」(乾燥したスープに水を加えるようなもの、ただしツイートとメタデータで)と呼ばれるプロセスを使用して、ツイートがまだ公開されている限り、それらのツイートIDを元の完全な状態に復元できます。
ツイートのハイドレーション: パワーツールアプローチ
ツイートIDをハイドレートするには、サードパーティツールが必要です。Twarcはコマンドラインユーザーにとってコミュニティのお気に入りです。インストール後、ツイートIDのリストを指定するだけで、現在のAPIアクセスで許可される限りのデータを取得できます。「Academic」エンドポイントからロックアウトされていても、ほとんどのハイドレーションツールは利用できます。
Twarc(およびその仲間)を始める
これらの操作が初めての方でも心配いりません。Twarcなどのツールのインストールと使用方法を丁寧に説明した初心者向けチュートリアルがたくさんあります。動画ウォークスルーや文書ガイドには、基本的なセットアップから高度なフィルタリングまですべてが網羅されています。過去のデータを実際に操作しながらコマンドラインスキルを磨く素晴らしい方法です。
これらの戦略を持てば、通常の扉が閉まっていても、Twitterの研究を続けることができます。ハイドレートされたツイートデータには現在も公開されているツイートのみが含まれるため、欠落している投稿に遭遇することもあるかもしれません。
ツイートのページネーション: どのように機能するか
重要な現実を確認しておきます。Twitterは1回の巨大なリクエストですべてのツイートを送ってくれません。代わりに、最新のツイートから順に管理しやすい「ページ」で結果が届きます。最初のバッチ以上を見たい場合は?
ページネーショントークンが、残りの結果を次々とめくっていくための鍵となります。各APIコールの後に、レスポンスの「meta」セクションにnext_tokenが含まれることがあります。このトークンはブックマークのように機能し、どこまで取得したかをTwitterに伝えます。
実際の流れ:
エンドポイントへの最初のリクエストを行います。
レスポンスにnext_tokenが含まれている場合は、それを次のリクエストのパラメータとして追加します。
繰り返します。次のレスポンスのたびにnext_tokenを取得して次のコールに使用します。
next_tokenが消えたら終わりです。利用可能な結果の最後に到達しました。
ヒント: 良いAPIユーザーになるため(そしてレート制限を避けるため)、リクエスト間に短い一時停止(5秒のスリープなど)を入れることをお勧めします。
以上で、リクエストURLへのわずかな変更とトークンへの注意だけで、ツイート履歴をページネーションで探索できます。
リアルタイムツイート収集のプロのヒント
リアルタイムのツイート取得を全速力で始める前に、重要な注意点があります。すべてのツイートは同等に作成されているわけではなく、アクセスできるわけでもありません!Recent Searchエンドポイントは公開されているツイートのみを返します。プライベートメッセージは対象外です。
無関係なデータに溺れたり重要なツイートを見逃したりしないよう、クエリルールをできるだけ明確でターゲットを絞ったものにしてください。役立つワークフローを紹介します。
クエリを丁寧に作成します。フィッシングネットではなくレーザーフォーカスで。
初期検索を実行して結果を確認します。
見つかった内容に基づいてクエリを微調整します。
最も重要なツイートが表示されるまで繰り返します。
プログラミング愛好家へのクイックヒント: Swiftプログラミング言語についてのツイートを追跡している場合は、Taylor Swiftの話題をスキップするのに十分な賢さがクエリに必要です。詳細はハッシュタグにあります!
この思慮深いアプローチにより、ノイズの洪水の中で重要なツイートを失うことなく、適切なツイートを収集できます。
since_idを使ったリアルタイムツイートの取得
検索結果を常に最新に保つ方法が気になりますか?そこでsince_idパラメータが役立ちます。リクエストにsince_idを追加することで、Recent Searchエンドポイントに「この特定のツイートIDより新しいツイートのみ表示して」と伝えることができます。繰り返しを避けながらTwitterの最新情報をポーリングするのに最適です。最後のバッチの最新ツイートIDを保存して次のクエリで使用するだけで、新しいコンテンツのみを取得できます。
さらにレベルアップしたいですか?since_idやその他の高度なパラメータの詳細についてはTwitterの公式ドキュメントをご確認ください。
さらに: Twitter APIエンドポイントの世界
Recent Searchエンドポイントは人気がありますが、Twitter APIにはさまざまなデータ収集やアクション実行方法を提供する多くのエンドポイントがあります。データサイエンティスト、開発者、または好奇心旺盛な方にとっても、何が利用可能かを知ることは重要です。
一部のエンドポイントではデータを収集できます(ツイート、ユーザープロフィール、ツイート数など)。他のエンドポイントではアクションを実行できます(ツイートの投稿・削除、いいね、フォロー・フォロー解除など)。これらすべてのエンドポイントは異なるURLで表現され、それぞれレート制限とアクセスレベルに関する独自のルールがあります。
Developer Portalを開いて、Twitter API v2の下を確認してください。そこには、ドキュメントへのリンク、レート制限の情報、特別な属性(最大クエリ長など)を備えたエンドポイントの一覧があります。多くのエンドポイントはすべてのアクセスレベルで利用可能ですが、レート制限(所定の時間内に取得できるデータ量)はアクセスレベルによって異なります。
データに興味がある方には、以下のエンドポイントに注目してください。
Recent Search: 過去7日間のツイートを取得する。
Filtered Stream: 投稿されるとリアルタイムでツイートを監視する。
User Tweet Timeline: 特定ユーザーの最近のツイートを取得する。
User Lookup: ユーザープロフィール情報を一括取得する。
今後追加される予定のエンドポイントと公開時期については、公式APIロードマップを常に確認しておきましょう。
次のステップ: Twitter APIの旅を続ける
おめでとうございます!これでプロのようにツイートを取得・フィルタリングするスキルが身につきました。次に進みましょう。
より多くのエンドポイントを探索する
Filtered Streamエンドポイントでリアルタイムのツイート監視を試します
User Tweet Timelineエンドポイントでユーザーの最近のツイートを取得します
Twitter APIロードマップを確認する
公式Twitter APIロードマップで今後の新機能を確認します
今後のエンドポイントや機能の準備を進めることで、常に最先端を維持できます
さらに学ぶためのリソース
詳細情報についてはTwitter APIドキュメントを詳しく読みます
Twitter Developer Communityに参加して他の開発者とつながります
Twitter Developer YouTubeチャンネルのチュートリアル動画を視聴します
Twitterデータの世界は広大で常に変化しています。実験を続け、好奇心を持ち続け、新しいことに挑戦することを恐れないでください。次の大きなプロジェクトや画期的な研究が、1つのクエリで始まるかもしれません。
まとめ
以上です!これでTwitter APIに飛び込んでプロのようにツイートを取得するスキルが身につきました。デベロッパーアカウントのセットアップから完璧なクエリの作成まで、基礎を習得しました。これはTwitter APIの旅の始まりに過ぎません。探索し、実験し、この強力なツールで何ができるかの限界を押し広げてください。次の大きなソーシャルメディアアプリの開発でも、画期的な研究でも、Twitter APIはあなたの可能性を広げます。勇気を持ってコードを書き、ツイートが常に豊富にあることを願っています。
よくある質問
Qodex.aiを選ぶ理由は何ですか?
Qodex.aiはAI搭載のツールと自動化を活用して、APIテストプロセスを簡素化・加速します。その特徴は以下のとおりです。
- AI搭載の自動化
一行のコードも書かずに100%のAPIテスト自動化を実現します。Qodex.aiの最先端AIは手動作業を削減し、卓越した効率性と精度をお届けします。
- ユーザーフレンドリーなプラットフォーム
Postman、Swagger、またはアプリケーションログからAPIコレクションを簡単にインポートし、数分でテストを開始できます。急峻な学習曲線や技術的な専門知識は不要です。
- カスタマイズ可能なテストシナリオ
AIによるテスト生成と手動でのテストケース作成のどちらでも、Qodex.aiはお客様のニーズに対応します。プロジェクトの要件に合わせた堅牢なシナリオを構築できます。
- リアルタイムの監視とレポート
APIの健全性、テスト成功率、パフォーマンス指標に関するインサイトを即座に取得できます。統合ダッシュボードにより常に状況を把握し、問題を早期に特定・対処できます。
- スケーラブルなコラボレーションツール
あらゆる規模のチーム向けに設計されたQodex.aiは、シームレスなコラボレーションを促進するテストプラン、スイート、ドキュメントを提供します。スタートアップ、エンタープライズ、マイクロサービスアーキテクチャに最適です。
- コストと時間の効率化
手動テストのオーバーヘッドをなくすことで時間とリソースを節約します。Qodex.aiの自動化により、運用コストを削減しながらイノベーションに集中できます。
- CI/CD互換性
Qodex.aiをCI/CDパイプラインに簡単に統合して、開発ライフサイクル全体で一貫した自動テストを実現できます。
Pythonのregexを使用してメールアドレスを検証するにはどうすればよいですか?
次のregexパターンを使用してメールアドレスを検証できます: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Go Regex Testerとは何ですか?
Go Regex Testerは、Go言語の開発環境でregexをテスト・デバッグするための専門ツールです。regexパターンのリアルタイム評価を提供し、効率的なパターン開発とトラブルシューティングを支援します。
Discover, Test, & Secure your APIs 10x Faster than before
Auto-discover every endpoint, generate functional & security tests (OWASP Top 10), auto-heal as code changes, and run in CI/CD - no code needed.
Related Blogs



