読者です 読者をやめる 読者になる 読者になる

座敷牢日誌

都落ちした元SEがソフトウェアやネット関連のことを書いています

twitterの生存アカウントを一括で調べる方法

twitterのアカウントが生きているか死んでいるか(存在しない)を一括で調べる方法を紹介する。ニーズがあるのかどうかは知らないが。

基本的にはこれだけでチェックできる。

  • 生存するアカウントのURLへアクセスすると、HTTPのステータスに200が返される
  • 存在していなければ、404が返される

アカウント名を一括でチェックするWebサービスなんかがあるあたり、一定の需要があるのだと思うけど。ここではシェルのwhileループでファイル読み込む練習がてら、twitterのアカウントを調べるスクリプトを書いてみる。

まずテスト用のアカウントを用意する。以下の記事で紹介されている有名人のtwitterアカウントをURLのリストにして保存する。

フォローすべきTwitterアカウント一覧 - IDEA*PAD

こんな感じで。ファイル名は「twi-account-list.txt」としておく。

http://twitter.com/takapon_jp
http://twitter.com/ikkostyle
http://twitter.com/strawberry2
http://twitter.com/skmt09 
http://twitter.com/GachapinBlog
http://twitter.com/kazuyo_k

チェック用のスクリプトを用意する。ファイル名を「twi-account-check」として、リストのファイルと同じディレクトリに保存する。

#!/usr/bin/env bash
while read url
do
	echo "$url $(curl -s -I $url|head -n 1|cut -d ' ' -f 2)"
done <twi-account-list.txt

カレントディレクトリをファイルを保存した場所に変更して、スクリプトを実行する。

$ twi-account-check

そうすると、チェックした結果が画面に順次出力される。

http://twitter.com/takapon_jp 200
http://twitter.com/ikkostyle 200
http://twitter.com/strawberry2 200
http://twitter.com/skmt09 200
http://twitter.com/GachapinBlog 200
http://twitter.com/kazuyo_k 200
http://twitter.com/kumojiro 200
http://twitter.com/kohmi 200
http://twitter.com/spnk 200
http://twitter.com/saibararieko 200
http://twitter.com/postymo 404
...

実行した結果をファイルに残したければ、リダイレクトやteeコマンドでファイルに吐き出せば良い。

$ twi-account-check|tee twi-account-check-result.txt

ぜんぜん難しくないですね。Windowsだとcurlコマンドが入っていないので別に用意する必要があるが、シェルの実行環境もないので、無理にcurlでやるよりはVBScriptやC#のような、最初からある実行環境でやったほうが早いと思う。

広告を非表示にする