mixiのコミュニティから一括で退会したいです。数百のコミュニティに入っているので1回1回退会ボタンを押すのが大変です。どんな手段でもいいので全てのコミュニティから一括で退会する方法を教えてください。プログラムの場合、それが動作するようであれば、それなりのポイントは支払わせていただきます。UWSC、FirefoxのiMacro、WSHなんでもいいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/08/12 17:01:42
  • 終了:2008/08/19 17:05:02

回答(1件)

id:Chiether No.1

Chiether回答回数40ベストアンサー獲得回数12008/08/13 03:07:06

ポイント60pt

では、bash と wget と perl で。

#!/usr/bin/bash

opt_cookie='--load-cookies ./cookie --save-cookies ./cookie --keep-session-cookies'

opt_common='--user-agent=autoleave_batch --output-document=./wgetfile';

email='hogehoge@hogehoge.net'

password='passwd'

# ログインする

wget ${opt_cookie} ${opt_common} --post-data "next_url=/home.pl&email=${email}&password=${passwd}&sticky=off" http://mixi.jp/login.pl

wget ${opt_cookie} ${opt_common} http://mixi.jp/check.pl

# コミュニティリストを取得する

wget ${opt_cookie} ${opt_common} http://mixi.jp/list_community.pl

mv wgetfile list_community.html

# コミュニティIDを取得する

egrep view_community.pl list_community.html | perl -pe 's/.+view_community.pl\?id=([0-9]+).+/\1/' > cid

# 全コミュニティを対象とするループ

# たぶんforで大丈夫だと思うが引数超過といわれたら while read に切替

for cid in ` cat cid `

do

# 退会ページを開いて、post_key値を取得する

wget ${opt_cookie} ${opt_common} http://mixi.jp/leave_community.pl?id=${cid}

mv wgetfile leave_community.html

pk=` egrep "post_key" leave_community.html | egrep "hidden" | perl -pe 's/.+value="([^"]+)".+/\1/' `

if [[ -z $pk ]]; then

# post_keyが見つからなければ処理を思いとどまる。

echo "get postkey failed. ${pk}"

exit 1;

fi

# 実際に退会する

wget ${opt_cookie} ${opt_common} --post-data "submit=confirm&post_key=${pk}" http://mixi.jp/leave_community.pl?id=${cid}

# 念のため、退会完了ページを leave_<ID>.html として保存しておく

mv wgetfile leave_${cid}.html

done


自分のIDとPWを使って、

for cid in の後に、直接コミュニティIDを指定する形で退会されたところまで確認しました。

このままだと大量のリクエストが立て続けに流されますので

opt_common値に、--wait=(秒) や --random-wait オプションをつけてやってください。

id:popattack

ありがたいのですが、unix環境がないので実行できません・・・Windows XPなもので・・・RubyとかPerlとかWindowsで完結できるものであればありがたいないです。

2008/08/13 11:05:03
  • id:koboy1960
    >どんな手段でもいいので
    →1度、mixiから退会すれば可能かも。再登録に新携帯アドレスが
    必要なので面倒かも。機能要望出しても時間掛かるだろうし。結局
    見たくない書き込みの多いコミュから手作業で退会するしか・・・
  • id:Chiether
    WSHまで含まれているので、スクリプト提供でもいいかなと思い
    環境を選びますがwgetとperlを使ったbashスクリプトを提出します。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません