teacup無料掲示板終了と過去ログの保存(Pythonでスクレイビング) | 格闘するものにハナマル

格闘するものにハナマル

武術・格闘技グッズや販売店、書籍・DVDに映画、
また突撃(?)体験した道場・教室の紹介などをしています。

teacupの無料掲示板が終了するらしいです。

 

 

会員のコミュニケーションの場として、

私の所属する某武術クラブではこれを使っていました。


過去ログをエクスポートする機能は提供されていないとのこと。

単なる雑談以上の情報も書き込まれていましたが、

当武術クラブでは
「全ページ(数百ページ)をコピペで保存する」
「貴重な情報があるところだけコピペで保存する」
などの意見がありました。
しかし後者のほうが手間が大きいくらいで、作業は膨大です。
 
私は暇人なので、「私が全ページコピペで保存するか」
くらい考えていましたが、ある日唐突に、
プログラミングで解決できそうなことに気づきました。
Webスクレイピングはやったことがなかったので、
なかなかここに思いが至らなかったのです。
 
実際にやってみると、Pythonにはライブラリがそろっていて、
結果的にはかなり簡単なプログラミングで、
全ページのダウンロードをすることができました。
 

実際に使ったプログラムはもう少し長いですが、中核部分だけ。

(2つのXXXX部分は、各自の掲示板に合わせて書き直し、
 20 には各自の掲示板の画面数を入れればいいです)
最初のページはURLが2画面目以降と違う規則でできてるので、
最初のページだけは別に保存してください。
実行環境はWindows10、anaconda4.12.0です。
 
-----
from urllib import request
import urllib

number = 1

while number <= 20:
    url = 'https://XXXX.teacup.com/XXXX/bbs?page=' + str(number) + '&'
    file = 'board' + str(number) + '.html'
    print(url)
    urllib.request.urlretrieve(url,file)
    number += 1
-----
 

簡単すぎて、公開するのも恥ずかしいのですが、

teacupの掲示板を使っている人は結構いると思いますので、ご参考まで。

 

ちなみに Python自体は、何年か前にこの本をざっと読んで学びました。