Scrapboxの画像もバックアップしたい
1: jsonエクスポート
2: 1のjsonから画像urlを抽出する
3: wgetコマンドの -i で一気に保存
↑ これでいけるはず
手元でつくってみてる
code:こんな感じでjsonの各行から画像URL部分を抽出する.py
def extract_imageurl_from_lines(url_prefix, lines):
SCRAPBOX_IMAGE_ID_LENGTH = len('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
newlines = []
for line in lines:
notfound = line.find(url_prefix) == -1
if notfound:
continue
is_too_short = len(line) < len(url_prefix)+SCRAPBOX_IMAGE_ID_LENGTH
if is_too_short:
continue
newlines.append(line)
targetlines = newlines
newlines = []
for line in targetlines:
newline = line
newline = newline.replace('\\t','')
newline = newline.replace('\\','')
newline = newline.replace('[','')
newline = newline.replace(']','')
newline = newline.replace('"','')
newline = newline.replace(',','')
newline = newline.replace('`','')
newline = newline.strip(' ')
newlines.append(newline)
targetlines = newlines
return newlines
が、これだと scrapbox upload は上手くいくが、gyazoがダメ
/raw つける必要があるよな、たぶん
code:terminal
うん、これならいけた
code:gyazoの場合はrawを付与.py
is_gyazo = url_prefix.find('gyazo.com')!=-1
targetlines = newlines
newlines = []
for line in targetlines:
newline = line
newline = newline.replace('\\t','')
newline = newline.replace('\\','')
newline = newline.replace('[','')
newline = newline.replace(']','')
newline = newline.replace('"','')
newline = newline.replace(',','')
newline = newline.replace('`','')
newline = newline.strip(' ')
if is_gyazo:
newline = '{}/raw'.format(newline)
できたかな?
code:message
2021-12-19 08:58:13 (98.4 MB/s) - `7626e47b5f309f6cefe40166df09454a.png' へ保存完了 7396/7396 終了しました --2021-12-19 08:58:13--
ダウンロード完了: 68 ファイル、4.6M バイトを 2.0s で取得 (2.33 MB/s)
全体コマンドラインイメージ
code:terminal
$ python generate_imagepathes.py -i sta-taskmanagement.json -o urls_sta-taskmanagement.txt --prefix "https://gyazo.com/" $ mkdir url1
$ (画像と txt を url1 に移す)
$ cd url1
$ wget -i urls_sta-taskmanagement.txt
……
2021-12-19 08:58:13 (98.4 MB/s) - `7626e47b5f309f6cefe40166df09454a.png' へ保存完了 7396/7396 終了しました --2021-12-19 08:58:13--
ダウンロード完了: 68 ファイル、4.6M バイトを 2.0s で取得 (2.33 MB/s)
Linならデフォで入ってるだろうが。
/sta全体やるのはかなり時間かかりそうsta.icon*2 たぶん1hくらいはかかるんじゃないか?