2chブラウザJDでスレ内の画像を一括ダウンロードする
JDは大変便利な2chブラウザだけれども,画像を一括で保存する方法がない.(Ctrl + a してから選択画像を開くをして,画像表示画面で全画像を保存・・・ってやってもできるけどウェイトがあるので時間かかる)
そこで超適当でスマートじゃないけどスクリプト書いてみた.
#!/bin/bash # Usage: command input_url downloaded_directory CMDNAME=`basename $0` if [ $# -ne 2 ]; then echo "Usage: $CMDNAME input_url downloaded_directory" 1>&2 exit 1 fi cd ~/Pictures/2ch_img/ mkdir "$2" cd "$2" wget -O output.dat $1 grep -o -P 'http.*?(jpg|png|bmp)|ttp.*?(jpg|png|bmp)' output.dat > url_pre1.txt sed -e "s/ <br> /\n/g" url_pre1.txt > url_pre2.txt sed -e "s/^ttp/http/g" url_pre2.txt > url_pre3.txt grep -o -P '^http.*(jpg|png|bmp)$' url_pre3.txt > url.txt wget -nc -t 3 -i url.txt echo "downloaded!!" exit 0
使い方は,上のスクリプトをget_img.shで保存したとしたら,
まず実行権限をつけて
chmod +x get_img.sh
自分のホームディレクトリにPictures/2ch_imgを作る.
このスクリプト自体の使い方は,
get_img.sh datのurl 保存先フォルダの名前
として使う.
JDから使う時は,「設定」→「その他」→「ユーザコマンドの編集」と進み,右クリックして「新規コマンド」
コマンド名は適当に好きなので,実行するコマンドに
get_img.sh $DATURL "$TITLE"
とする.($DATURLはdatのURL,$TITLEはスレのタイトル$TITLEは空白が含まれている場合などを考え,""でくくってある)
ちなみにこれはget_img.shにPATHが通っている場合.
PATHが通ってないならPATHを通すか,絶対指定.($HOMEにあるなら$HOME/get_img.shとか)
ユーザコマンドを追加できたら,スレ内で右クリックしたらコマンドが追加されてるので,それをやると
~/Pictures/2ch_img/内にスレのタイトルのディレクトリが出来て,その中に画像が保存される.
その画像を一気に見たい時はfehを使うのが便利かも.
sudo apt-get install feh -y
でインストールして,使い方は
feh -rFD0.1 --cycle-once ~/Pictures/
これで~/Pictures以降の画像を再帰的に見れる.
オプションは以下の通り
オプション | 効果 |
---|---|
-r | 再帰的にディレクトリを掘る |
-F | フルスクリーンモード |
-D | スライドショーの時間を秒で指定 |
--cycle-once | 1ループで終了する |
操作方法はhで一時停止トグル,nで次の画像,pで前の画像,vでフルスクリーンモードトグル
フルスクリーンでグロ画像とか出てきた時には・・・orz