bs2 公開板備份初探

By Shaform, Tue 26 July 2016, in category Notes

bs2, Python

前言

bs2.to 就要關閉了,雖然官方有提供個人板備份功能,可是公開板因為著作權問題無法備份,而若要自行轉寄信箱又太過操勞,於是我就想研究一下是否有自動備份的選擇。

經過一番搜尋,似乎有個古老的 bs2-crawler。雖然一開始無法成功跑起來,不過經過修改,似乎真的可以拿來備份 bs2 的看板了。

以下就是修改版本 bs2-crawler@shaform,的使用教學。

安裝

首先 clone 我們修改的版本:

git clone https://github.com/shaform/bs2-crawler

可以用 Python 3 執行,首先使用 pyvenv 創立虛擬環境,好安裝自己的套件:

cd bs2-crawler
pyvenv env
source env/bin/activate

緊接著,安裝所有這次會用到的套件:

pip3 install -r requirements.txt

下載看板資料

一些著名的看板像是書評板或選課板皆可使用,以下我們就用選課板做示範:

python3 crawler.py --board-name NCTU-Teacher

會出現要下載哪些文章的提示:

n - 14520 :

輸入 1 即可下載 1~14520 所有文章。

下載完後會出現在 articles/NCTU-Teacher 的路徑裡。

由於倉促修改,所以還有不少 bug,像是如果有加密文章,有時會無法處理,只好請大大們自行修改了。