最近、業務でtogetterまとめを作る機会が何度かあったので 自分なりのまとめ作成方法をメモ代わりに公開しておく。
まず、ヤフーのリアルタイム検索からハッシュタグで検索してtweetを拾ってくる。
リアルタイム検索
リアルタイム検索を使うのは特に理由はなかったはずだけど、スパムっぽいツィートが弾かれてるからだった気もする。
Firefox + Firebugでコンソールを使って下のスニペットを実行してtweetのURL一覧を取得。
$("#TSm p.lt").each(function(){ var link = $(this).children("a")[1]; var h = link.href; var twURL = decodeURIComponent(h.split("*")[2]) console.log(twURL); });
2016/06/05 追記
twitterからぶっこ抜きするにはこんなコードでOK
もうちょっとキレイな書き方あるはずだけどとりあえずこれで。
var elements = $("a.tweet-timestamp"); var n = elements.length; for(var i = 0 ; i < n; i++){ var link = $("a.tweet-timestamp")[i].getAttribute("href"); link = "https://twitter.com" + link; console.log(link); }
2016/09/26 追記
いつの間にかフォーマット変えられてたのでちょっと変更してURLの一部を抜き出す形式に変更。
$("#TSm p.lt").each(function(){ var link = $(this).children("a")[1]; var h = link.href; var RU = h.split("/")[9].slice(3); // var rawURL = decodeURIComponent(RU.replace('-', '=').replace('_', "/").replace(".", "+")); var rawURL = RU; rawURL = rawURL.replace(/\-/g, '='); rawURL = rawURL.replace("_", '/'); rawURL = rawURL.replace(".", '+'); // console.log(decodeURIComponent(rawURL)); console.log(window.atob(decodeURIComponent(rawURL))); });
2018/01/06 追記
twitterの方が取れなくなっていたのでちょっと修正。
var x = ""; $$(".tweet-timestamp").forEach( function(el, i){ x += el.href + "<br/>\n"; console.error(el.href); }); document.write(x);
querySelectorAll()
を使うコードに変更。
次に、togetterのまとめ作成画面から画像のY字っぽいボタンをクリック。
クリックして出てきたフォームに先ほど取得したURL一覧を入力して完了。
あとは、時間順に並べて重複、RTを削っ荒いまとめの完成。
余裕があればここからデコレーションしたり、ハッシュタグがついてないけど関係ありそうなまとめを拾ってきて完成。
デコレーションはRTが多いtweetは優先的に赤字で大きくしたいと思っているのだが今のtogetterのUIだと難しいので、 今後の課題かなと思ってる。