2008年5月22日木曜日

Python で HTTP の POST メソッドを送信 - 掲示板の迷惑投稿を一括削除

1. おちゃのこネットの掲示板の投稿を、一括で削除したい

友人が、おちゃのこネット のサービスを利用して、ネットショップを運営している。おちゃのこネットでは、ショップごとに掲示板を持てる。掲示板を使っていて問題となることは、迷惑投稿がたくさん入ること。

検索してみると、多くのショップがやられているようだ。

投稿を削除するには、

ショップの掲示板の一番下に
「以下のフォームから自分の投稿記事を修正・削除することができます」という
削除/修正用のBOXがありますので

1,処理の区分は「削除」に選択して下さい。
2,記事Noは削除されたい記事番号を入力下さい。
3,パスワードの箇所は、ショップマネージャー(管理画面)のログインPWを入れて送信ボタンを押してください。

おちゃのこサポートくらぶ - Q:掲示板(BBS)にショップとは無関係の記事があるので削除したいのですが、どうすればいいでしょうか? より)

管理画面からも投稿を削除できる。しかし、個別に削除するのは面倒なので、できればスクリプトで一括削除したい。

 

2. 削除用のスクリプト

Python を使い、urllib2 モジュールを利用する。

ソースコードは、urllib2モジュール - ひきメモ を参考にした。

import urllib
import urllib2

# 掲示板のアドレス
url = 'http://XXXXXXXX.ocnk.net/bbs'

# パスワード
passwd = 'XXXXXXXX'

# 削除したい記事の No.
#
# ex. 記事 No.1,3,5 を削除 codes = [1,3,5]
#     記事 No.1 ~ 10 を削除 codes = range(1,11)
codes = []
#codes = range()


# 指定された No. の投稿を削除する
def delpost(code, passwd):
    params = {
        'update'        : 'true',
        'mode'          : 'del',
        'code'          : code,
        'password_bbs'  : passwd
    }
    urllib2.urlopen(url,
                    urllib.urlencode(params))

for code in codes:
    delpost(code, passwd)

掲示板のアドレスと、削除用のパスワードを指定し、削除対象の投稿の No. を入れて実行する。

 

参考