Gaaaon
PR.ready_
特定のツイートにいいねしたユーザーを抽出する方法【v2】
Data

特定のツイートにいいねしたユーザーを抽出する方法【v2】

Twitter API v2を使うと、特定のツイートにいいねしたユーザー情報や、あるユーザーがいいねした投稿データを無料で取得可能。エンドポイント /2/tweets/:id/liking_users と /2/users/:id/liked_tweets の使い方を、具体的なPythonコード例とともに解説します。

SHARE

主なポイント

Twitter API v2を使うと、特定のツイートにいいねしたユーザーの情報や、あるユーザーがいいねした投稿データを無料で取得できます。エンドポイントは /2/tweets/:id/liking_users と /2/users/:id/liked_tweets の2種類です。

catch-img

SNS API

先日公開された新しい Twitter APIのv2 では、特定のツイートにいいねしたユーザーの情報や、あるユーザーがいいねした投稿データを抽出することができるようになりました。

今回はこちらのAPIでデータを取得する下記2つの方法を解説していきます。

機能エンドポイント
Users who have liked a Tweet特定のツイートにいいねしたユーザーを抽出/2/tweets/:id/liking_users
Tweets liked by a user特定のユーザーがいいねした/2/users/:id/liked_tweets

なおv2は無料な一方で取得できるデータが限られていたりするため、投稿データを完全取得する際は下記などのプレミアムAPIをご参照ください。

【難解!?】Twitter APIを使って投稿データを収集する方法 | 広報・PR支援の株式会社ガーオンTwitter Search APIを非エンジニアの方にも、なるべく分かりやすく解説し、全体概要や費用などを解説した上で、具体的なデータ取得方法まで解説していきたいと思います。広報・PR支援の株式会社ガーオン

特定の投稿にいいねしたユーザーを抽出する

今回のデータ取得の対象は下記投稿を例に取り上げてみます。

この安倍元首相の投稿には現在15万件以上のいいねがついています。このいいね情報を取得するには、Twitter上では下記のいいねの場所をクリックすると取得することができます。

Twitterの投稿に15万件のいいねがついている画面。2.5万リツイート・5,094件の引用ツイートも表示。

今回はこの情報をAPIで取ってきます。

APIを叩く

import requests
import json

# bearer_tokenを設定(デベロッパーポータルのd ash boardから入手できる)
bearer_token = "xxxxxxxxx"

# headerにbearer tokenを設定
headers = {"Authorization": "Bearer {}".format(bearer_token)}

# 取得したい項目をオプションで設定
# "user.fields"でいいねしたユーザーの情報を取得する
params = {
          "user.fields": "created_at,description,entities,id,location,name,pinned_tweet_id,profile_image_url,protected,public_metrics,url,username,verified,withheld"
          }

# ツイートIDを設定
id = "1387227856611069952"

# urlを設定(いいねしたユーザー情報は末尾urlがliking_usersとなる)
url = "https://api.twitter.com/2/tweets/{}/liking_users".format(id)

# 設定情報をリクエスト
res = requests.get(url, headers=headers, params = params)

# jsonとして読み込む
res_text = res.text
likes = json.loads(res_text)

取得できるデータ

実際に取得できるデータは下記となります。

{
    "name": "広報PR代行サービス【PRナビ】| 株式会社ガーオン",
    "verified": False,
    "entities": {
        "url": {
            "urls": [\
                {\
                    "start": 0,\
                    "end": 23,\
                    "url": "https://t.co/QWIMMW7lid",\
                    "expanded_url": "/",\
                    "display_url": "/"\
                }\
            ]
        },
        "description": {
            "urls": [\
                {\
                    "start": 104,\
                    "end": 127,\
                    "url": "https://t.co/zRJSJCTPM2",\
                    "expanded_url": "/blog",\
                    "display_url": "/blog"\
                },\
                {\
                    "start": 138,\
                    "end": 161,\
                    "url": "https://t.co/4LfK0XP6a1",\
                    "expanded_url": "http://prnavi.jp",\
                    "display_url": "prnavi.jp"\
                }\
            ]
        }
    },
    "url": "https://t.co/QWIMMW7lid",
    "username": "PR_NAVi",
    "description": "【まるごと広報代行サービス PRナビ】一部上場企業からスタートアップまで累計400社以上の広報PRを支援 | 企業や団体が発信する日々のプレスリリースを発信中 | SNS等のデータ収集・分析 | PRブログ:https://t.co/zRJSJCTPM2 | リリースサイト:https://t.co/4LfK0XP6a1",
    "profile_image_url": "https://pbs.twimg.com/profile_images/628090809686949888/jeE0Tn_u_normal.png",
    "protected": False,
    "id": "102654697",
    "created_at": "2010-01-07T11:47:13.000Z",
    "public_metrics": {
        "followers_count": 7088,
        "following_count": 7239,
        "tweet_count": 3718,
        "listed_count": 45
    },
    "location": "東京都品川区"
},

locationなどにユーザーが設定した地理情報が含まれているため、ここからいいねしたユーザーの地理分布などを分析できそうです。

しかしこのAPIは取得できるデータがMAX100件(なぜか調子が悪いと100件未満となる)となっているため、今回はいいねしたユーザーのdescription(自己紹介)をワードクラウドにしてみたいと思います。

自己紹介文をワードクラウド化

Twitterいいねユーザーの自己紹介文をワードクラウド化した結果。台湾・趣味・推し・アカウントなどの語が頻出

上記情報に加え地理情報などを見てみても、台湾からいいねされている傾向が強いことが分かります。

MAX100件ということで、何に使えば良いのか分かりませんが、以上が特定の投稿にいいねしたユーザーの情報を取得する方法でした。

次回は、特定のユーザーがいいねした投稿を抽出する方法を解説します。

当社では広報活動のサポートの他、Twitterのデータ取得や分析、各種ダッシュボード作成などもサポートしています。 お問い合せフォーム よりお気軽にお問い合せください。

▼合わせて読みたい

【難解!?】Twitter APIを使って投稿データを収集する方法 | 広報・PR支援の株式会社ガーオンTwitter Search APIを非エンジニアの方にも、なるべく分かりやすく解説し、全体概要や費用などを解説した上で、具体的なデータ取得方法まで解説していきたいと思います。広報・PR支援の株式会社ガーオン

【ML-Ask】感情分析AIは実際に使えるのか検証してみる | 広報・PR支援の株式会社ガーオン朝日新聞の記事にも使われている「ML-Ask」という感情分析モデルを実際に使ってみて検証していきたいと思います。広報・PR支援の株式会社ガーオン

朝日新聞の要約AIはヤフートピックスの夢を見るか ~ディープラーニングを用いた令和時代のプレスリリースの作り方~ | 広報・PR支援の株式会社ガーオン朝日新聞の記事データをもとに開発されたという、ディープラーニングを活用した自動要約生成APIをご紹介します。広報・PR支援の株式会社ガーオン

ソーシャルデータから読み解くボヘミアンラプソディの口コミ形成とメディア露出効果 | 広報・PR支援の株式会社ガーオンボヘミアン・ラプソディの大ヒットにはSNSやテレビはどのような影響を与えていたのでしょうか。YouTubeとの相乗効果も合わせて検証します。広報・PR支援の株式会社ガーオン

Amazonの人工知能を使ってSNS等の口コミを感情分析する方法 | 広報・PR支援の株式会社ガーオンアマゾンの自然言語処理サービス Amazon Comprehendを使って口コミを分析してみます。広報・PR支援の株式会社ガーオン

【記事に繋がる】プレスリリースの書き方・送り方 | 広報・PR支援の株式会社ガーオンプレスリリースの書き方の”コツ”をPRプランナーがわかりやすく解説します。プレスリリースとはの解説から、7つのポイントや、6W5Hの使い方の他、広報PRにオススメの具体的なツールの紹介や、ヤフーニュースに掲載してもらうポイントを解説します。広報・PR支援の株式会社ガーオン

SHARE
特定のツイートにいいねしたユーザーを抽出する方法【v2】 | 株式会社ガーオン