【Python3】【TwitterAPI】Pythonでツイートを検索(StandardsearchAPI)

[スポンサーリンク]


Python3でTwitterAPI使用する準備


Python3でTwitterAPI使用する準備として、下記を行いました
①APIキーとトークンの取得
②ライブラリのインストール

【Python3】【TwitterAPI】PythonとTwitterAPIを触ってみる準備
TwitterAPIとは先日Python3を使用出来る環境を構築しました勉強として、Pythonで簡単なプログラミングをしてみたいと思います何を作るか迷ったのですが、良く利用しているTwitterを操作して...

[スポンサーリンク]


ツイートを検索 Standard search API


TwitterAPIでツイートを検索するには、Standard search APIを使用します

Standard search API

パラメータ


Standard search APIのパラメータは以下です
各項目について、メモを残しておきます
記載内容一切保証出来ません

項目名要否個人的メモ
qrequired検索対象の検索条件を指定。UTF-8で500文字上限
geocodeoptional検索対象のツイート住所、地域をジオコードで指定
langoptional検索対象の言語を指定。日本の場合デフォルトで日本語
localeoptional検索対象の地域を指定。日本の場合デフォルトで日本
result_typeoptional検索タイプを指定。最新、人気、混合から選択
countoptional検索ツイート数を指定。1ページ上限100ツイート
untiloptional検索対象の日時上限をYYYY-MM-DDで指定
since_idoptional検索対象のツイートIDの最小IDを指定
max_idoptional検索対象のツイートIDの最大IDを指定
include_entitiesoptional検索対象のエンティティを指定※1

※1 Twitter entities

Entities object

Standard search API サンプルコード


サンプルとして、TwitterJapanアカウントのツイートを2件取得します
q項目の「from:TwitterJP」で、TwitterJapanアカウントのツイートを検索条件にします
count項目の「2」で、2件のツイートを取得数と指定します

q項目については、検索条件を指定出来ます
TwitterのWEBやアプリでも、検索でも使えるの覚えていると便利です
下記サイトにて詳しく解説されています

https://yonoi.com/twitter-search-command/

・Standard search APIのURLを設定

・OAuth認証でTwitterとセッション接続

・Sessionクラスのgetを使って、Standard search APIのレスポンスを取得

・SessionのHTTPのレスポンスコードが200(正常)かを判定

・json形式として読込


Standard search API レスポンス


Json形式でのレスポンスが返ってきます

dict(辞書)型とlist(リスト)型で構成されています
これを、整形しています
かなりの情報量があります(汗)


レスポンスから必要な情報を取得


dict(辞書)型とlist(リスト)型で構成されていることが分かりました

レスポンスから、欲しい情報だけ取得します
今回は、ツイート時刻(created_at)とツイート内容(text)を取得します

q項目を変えることで、気になるキーワードでツイートを検索したりすることが出来ます
今回は、プレーステーション公式アカウントの「FINAL FANTASY」のツイートを検索してみます
-filter:retweetsでリツートは検索対象外としています


HTTPのレスポンスコードが200以外の場合


HTTPのレスポンスコードが200以外の場合も、textが返ってくる場合もあります
この場合、エラーに関する情報を取得出来ます
但し、エラー状況次第では、textがjson形式で読み込めない場合もあり、その場合はjson.loadでエクセプションが発生します
エクセプションに気を付ければ、必要に合わせてエラー原因の特定になる情報を確認出来ます

エラーコードについては、下記に情報があります
サンプルとして、認証エラーとなった場合の、エラー内容を確認してみます

エラーコードと応答 - Twitter 開発者ドキュメント 日本語訳
このサイトではTwitter開発者ドキュメントの日本語訳を公開しています。Twitter API やTwitter Cardなど、Twitterでの開発に役立つ様々な情報が記載されています。

[スポンサーリンク]

[スポンサーリンク]
▼オンラインで、初心者のプログラミングへの挑戦も、SE職のスキルアップも▼

コメント

タイトルとURLをコピーしました