Memo

「推しだけ検索する奴」というのを作りました

こちらのブログではご無沙汰しています。生きています。

昨年末くらいから久々に二次創作活動に精を出していたら、あれこれ企画やら何やらやってて、こっちに割く時間がなくなっていました。気付けば11月だと…(;˘ω˘)

そんなわけで、久々にこちらに公開出来そうなモノづくりしたので詳細やら何やらを書いときますね。

「推しだけ検索する奴」というものを作りました

推しだけ検索する奴

Twitter APIを使ってツイート検索できるWEBツールです。オプションで「-RT(リツイート非表示)」や「-Bot(ユーザー名やIDにBotがあるツイートを非表示)」などもあります。

Twitter公式の検索じゃダメなのかって? 公式の検索がダメだったから作ったんだよ!!!

なんで作ったか? Twitter公式が地獄だったからです

いつ頃からか忘れましたが、Twitterの公式検索が、検索結果に「名前(ユーザー名)」を返すようになっていたんです。

これで何が起こるかというと、二次創作界隈の場合は推しの名前なんかをユーザー名に入れている人がいるんですが、推しを検索したらその人のツイートが出てくるんです。

推しに関するツイートや画像が見たくて検索しているのに、知らない人の日常ツイートや関係ないツイートなんかが出てくるわけですよ。

その人がツイ廃だった日にゃ、検索結果はその人だけで埋まるんです。埋まっちゃうんです。

地獄かよ。

なので、界隈ではユーザー名に推しを書くのは辞めよう! みたいなツイートがよく流れてくるようになりましたが、キャッシュの関係か変えてもすぐ検索結果には反映されず、よくわからない検索結果を見続ける新たな地獄が生まれるというケイオス。

ちなみに私の場合、推しの名前をそのまま名前にしてる人が数人おりまして、知らない人の自撮りを見続ける地獄を味わっておりました。ふざっけんな。

怒っていても仕方ない「よし、作ろう」

ユーザー名に好きな語句を設定するのはその人の自由ですし、権利です。だから辞めてくださいというのもちょっと違う。公式がユーザー名を含めなくなればいいんですが、直る気配もない。

いっそ作ったほうが早いのでは? なんて考えていた時、あることに気づきます。

公式のTwitterアプリの前は「Echofon」というアプリを使っていて、そっちでツイート検索をしたところ、ユーザー名を含めていなかったんです。

どうやらTwitterが外向けに提供しているAPIでは、ユーザー名を検索結果に含めていないようだったんです。

それなら小難しいことせずとも作れるんじゃ?と思い立ち、自分が使いやすいやつ作ろう!と相成りました。

!!ーーここから先は専門的な小難しい話になりますーー!!

Twitter Rest API と tmhOAuth を使って作りました

今回は公式が提供しているTwitter Rest API(エンドポイントはsearch/tweets)、ログイン周りは「あなたのソウルジェムメーカー」でも使った「tmhOAuth」で作りました。

search/tweetsのデータのとり方は、こちらのサイトの記事で公開されているサンプルをお借りしました。

とはいえ、私は「おぶ、じぇくと…??」というレベルの残念な脳みそなので、連想配列にして回してますけどね…へへ。

昔と比べて便利なライブラリが出ているようですが、gitHubでなんちゃらしてが分からないのでまぁ、できる範囲でやってます。

「search/tweets」を触ってみて気づいたこと

名前(ユーザー名)は検索結果に出ないが、ユーザーIDは出る

実は今まで気づかなかっただけで、ユーザーIDも実は検索結果に表示されていたようです。

推しがたまに数字で表記されるんでね、それで叩いてみたら、ツイート内にその数字がないのに表示されるものがありまして…。

推し検索奴では、ツイート内に検索語句がない場合は表示しないようにしています。ただ、その結果がうまく回らない時があるので、まだ試行錯誤してます…。

ツイート内のリンクは「expand_url」に格納されている

検索にヒットした語句がツイート内(text)にないけど、データが取れていることがありました。

どうやらURLはすべて「http://t.co/~」になっているけど、ちゃんと変換する前のURLも見てるみたいですね。変換前のURLは「expand_url」に入ってました。

ツイートだけチェックするのじゃダメみたい。

公式アプリが使ってるAPIと提供されてるAPIは違うらしい

REST APIは100件または過去1週間分しか持ってこれません。もっと古いツイートを取る方法はないかと調べたら、公式のアプリなんかは非公開の「search/universal」というものを使っているようです。

REST APIで実はユーザーIDが検索対象だったことを考えると、ユーザー名が検索結果に反映されるのはこのAPIで検索範囲を広げたからなんじゃないかな、と。たぶん、検索精度を上げたかったんじゃなかろうか。でもせめてマイナスできるようにしてほしかった…。

!!ーー専門的な小難しい話おわりーー!!

「推し検索奴」を作って知ったこと

これが出来上がったとき、ヲタ垢のフォロワーさんにも使ってほしくて(同じように困ってた人いたから)ツイートしたんですが、あれよあれよと拡散され、7000RT以上されてしまいました。いやーびっくり。

それでいただく感想リプや、引用ツイート、RT直後のツイートなんかを見るに「みんな同じこと思ってた」と分かってよかったです。

公式よ早くユーザー名を検索対象に含めない措置をなにとぞ…なにとぞ…。

「-Bot」オプションは付ける予定じゃなかったけど付けたのには理由がある

推し検索奴を作ってフィードバックもらったりしてる時にね、某CPをひたすらdisるツイートをするBOTを見つけたんです。検索されるようユーザー名にもツイート内にもそのCP名を入れててね。

なんか、こんなBot作る人がいるのか、とすごくショックで。自分の推しではなかったんだけど、それが好きな人にわざわざ見えるように作って嫌な気持ちにさせる人もいるのだな、と。

TwitterでBotを作るときは、ユーザー名やIDに「Bot」と入れなければいけなかったはずなので、Botをマイナス検索できるようにしときました。

そんなBotを見て嫌な気持ちになる人のことを思うと胸が痛いです。でも、そんなBotを作った人も心配だなぁと思います。
それだけの技量があるなら、もっと自分が幸せになるもの作ったらいいのにね。幸せは作れるぞ。

皆さんの心が平和になりますように

Twitterが何かしら対策をしてくれるまでは、このツールを動かしておくつもりです。

今は表示方法に埋め込み形式をとっているため、検索結果によっては表示が遅いこともあるかと思います。
そのうち埋め込みじゃない方法で表示したり、ログイン時にはそのままふぁぼやリツイもできるようにしたいと思ってますので、それまではこのままでお願いします。

サーバーの使用状況によっては広告を表示させることになるかもしれません(なるべく邪魔にならない位置につけようと思ってます)。

それでは皆様、よい検索ライフを ノシ

推しだけ検索する奴

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください