なんだか分かりにくいタイトルになってしまいましたが。Twitterで特定のツイートから、そのユーザーの前後一日のツイートを検索するスクリプトを書きました。
特定のツイートの「詳細」を開いてスクリプトを実行すると
検索結果のページが表示されます。
スクリプトがこちら
// ユーザー名の取得 @は除く var username = document.getElementsByClassName("username").item(1); var username = username.childNodes.item(1).innerText; // 日付の取得 // 例: 00:00 - 2015年7月7日 から 2015/7/7に変換 → 2015-07-06 と 2015-07-08 を取得 var tweetdate = document.getElementsByClassName("metadata").item(1).innerText; var datestring = tweetdate.substring(tweetdate.lastIndexOf(" ") + 1); datestring = datestring.replace("年","/"); datestring = datestring.replace("月","/"); datestring = datestring.replace("日",""); // 前後の日付の算出 tweetdate = new Date(datestring); var prev = new Date(tweetdate.setDate(tweetdate.getDate()-1)); var next = new Date(tweetdate.setDate(tweetdate.getDate()+2)); // 前後の日付をyyyy-mm-dd形式にする prev = prev.getFullYear() + "-" + ('0' + (prev.getMonth()+1)).slice(-2) + "-" + ('0' + prev.getDate()).slice(-2); next = next.getFullYear() + "-" + ('0' + (next.getMonth()+1)).slice(-2) + "-" + ('0' + next.getDate()).slice(-2); // 検索結果の表示 // from: ユーザー名 since: 期間の開始 until: 期間の終了 src=typed (詳細不明、無しでもよさそう) f=tweets 「ライブ」のタブを表示? var search_url = "https://twitter.com/search?q=from%3A" + username + "%20since%3A" + prev + "%20" + "until%3A" + next + "&src=typd&f=tweets"; window.open(search_url);
ブックマークレット(長い…)
javascript:(function(){ var username = document.getElementsByClassName("username").item(1); var username = username.childNodes.item(1).innerText; var tweetdate = document.getElementsByClassName("metadata").item(1).innerText; var datestring = tweetdate.substring(tweetdate.lastIndexOf(" ") + 1); datestring = datestring.replace("年","/"); datestring = datestring.replace("月","/"); datestring = datestring.replace("日",""); tweetdate = new Date(datestring); var prev = new Date(tweetdate.setDate(tweetdate.getDate()-1)); var next = new Date(tweetdate.setDate(tweetdate.getDate()+2)); prev = prev.getFullYear() + "-" + ('0' + (prev.getMonth()+1)).slice(-2) + "-" + ('0' + prev.getDate()).slice(-2); next = next.getFullYear() + "-" + ('0' + (next.getMonth()+1)).slice(-2) + "-" + ('0' + next.getDate()).slice(-2); var search_url = "https://twitter.com/search?q=from%3A" + username + " since%3A" + prev + " " + "until%3A" + next + "&src=typd&f=tweets"; window.open(search_url); })();
だいたいのことはコメントに書いてますが、ツイートの詳細からユーザー名(@xxxから@を除く)、日付(時間 - 日付)をそれぞれ取得して、前後の日付をDateを使って計算、検索結果のURLにあてはめています。src=typedのパラメータの意味はよくわかりませんでした。*1 また、検索結果で「トップ」だと表示されないツイートがあったりするので、「ライブ」のタブを表示するようにしています。
他のユーザーだけでなく、自分がした古いツイートに対して何かリアクションがあったときも「あのときは何を考えてたんだっけ?」の確認ができそうです。実行した日やユーザー名によっては正しく表示されないことがあるかもしれません。
*1:無しでも表示されましたが念の為