黒鋼彗牙
2024-04-24 21:42:59
2353文字
Public
 

TwitterでリツイートのURLを取得する方法【PCのみ?】

自分用メモ。2024年4月24日現在。RTのURLだけでなくツイートしたクライアントとかツイート秒数も見れます。
拡張機能でTwitterの色とかは変えてるので実際のページとか色々異なる場合があります。ご了承ください

まずリツイートのURLって何???って話ですが、「〇〇さんがリツイートしました。」の、そのリツイートした本人がリツイートしました!ってわかるURLです。いやわからんぞ。
とりあえず見た方が速いので直近の自分のリツイートで言えば、

これです。上に「黒鋼彗牙/P.J.B/🜸Krovisさんがリポスト」って書いてありますね。

URLで表示すると
twitter.com/ksuiga/status/1783076926992900585
こうなります。
あれ?虚構新聞アーカイブスのIDじゃなくない?ってなった方、大正解です。
このURLは「ksuigaがRTした虚構新聞アーカイブスの記事のURL」なんです。わかれ。
このべったーはこのURL(ツイートID)を取得する方法のメモです。


・デベロッパーツール・開発者ツールと呼ばれるものを出す。
くろーむでも火狐でもエッジでもとにかく使えればヨシ。大体F12キーを押せば出てきます。
この記事ではくろーむでやってるのでスクショはくろーむです。エッジはくろーむベースなのでエッジも大体同じものが見れるはず。
火狐での相違点などあればそれは書いておきます。
デベロッパーツールを使用するのでPCのみのとしてありますが、デベロッパーツールが使えるブラウザがあればスマートフォン等でも可能だと思います。
やったことないけどandroidならKiwiとかで出来そう。

・デベロッパーツールのタブで「ネットワーク」を開く。
先に開いとかないとツイートの情報が取れません。

・取得したいタイムラインを表示する
自分のツイートのRTを取得したいなら自分のプロフィールを、特定のユーザーのRTを取得したいならその人のページを開きます。
ページを開く→更新ボタンで更新でもいいです。検索も表示できますがそれは後述。

・デベロッパーツールの中から「UserTweets?variables」ってなってる名前のファイルを探す。
開いているデベロッパーツールのインターネットタブがわっちゃわっちゃなってると思います。

こいつを選択します。

・中をひたすら掘る
選んだあとの右側が「プレビュー」になっていない場合はプレビューにしてください。火狐の場合は「応答」タブが該当します。

書くのがめんどくさいので画像を貼っちゃいますが、こんな感じで階層を開いて進んでいくとこういうのが出てきます。
これがタイムラインのツイートです。上のツイートから順番に並んでいます。
entyId: "tweetから始まっているものが対象となります。

0を一番最初として、多分この番号にリツイートがあるかな?と思ったら更に掘っていきます。

ありました。「full_text」が「RT @KyokoArchives: 」から始まっていて、これがリツイートしたツイートってことになってるみたいです。知らんけど。
で、この「legacy」の中の「id_str」の値が多分ツイートのIDです。多分。詳しい人いたらあってるか教えてクレメンス
この数字をコピーします。

ちなみに「created_at」が時間です。が、日本時間じゃないので+9時間すると日本時間になります。
RTのURLの場合はRT元のツイートの時間ではなくRTした時間が分かります。
「source」がツイートしたクライアントの名前です。昔は色々あったんだけど外部クライアントはほぼ全停止したから今はあんまり意味ないっすね
一応現在でもブラウザ、iOS、Androidぐらいはわかります。あとBOTでクライアント名変えてる場合も変えれるかも?

・表示する
適当なツイートを開いてください。自分のじゃなくてもいいです。
URLが twitter.com/(ユーザーID)/status/(数字) ってなってますね?さっきコピーした数字を数字の部分に差し替えます。
ユーザーIDの部分がRTした人のIDに、RTしたツイートの上部に自分がしたRTなら「あなたがリポストしました」、ほかの人がしたRTなら「(ユーザー名)さんがリポスト」と書いてあれば成功です。
RTのURLを何に使うのかわかりませんがご活用ください。

・UserTweetsの中にないよ~~!!!!って場合
UserTweetsは一度の読み込みで20ぐらいしか取得しません。タイムラインを下へスクロールしていくとネットワークの中のUserTweetsが増えます。そっちにあります。
読み込み限界に達したけどもっと昔のも取りたいよ~!という場合は、サーチバンとかされてなくて検索可能なユーザーなら検索画面からも取れます。
from:(ユーザー名) include:nativeretweets 」で、検索したときにそのユーザーのリツイートも一緒に表示されます。
リツイートのみでいい場合は「from:(ユーザー名) filter:nativeretweets 」です。
`since:`(指定した日時以降)と`until:`(指定した日時以前)も活用しましょう。特定の日付のツイートのみ検索できます。
例えば「from:ksuiga filter:nativeretweets since:2024-04-24 until:2024-04-25 」で私が2024年4月24日に行ったRTの一覧が表示されるって寸法です。
ただ、前述のとおりベースが日本時間じゃないので多分日本時間より9時間ほどズレてます。
あとはユーザ画面とほぼ一緒です。ただしデータがあるのは「UserTweets」ではなく「SearchTimeline」の中になります。