-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path4chan_thread_dn.sh
More file actions
executable file
·60 lines (38 loc) · 1.01 KB
/
4chan_thread_dn.sh
File metadata and controls
executable file
·60 lines (38 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/bash
BOARD=$1
OUTDIR=~/Pictures/4chan_imgs
DOWNLOADER=wget
DOWNLOADER_OPTS=-O
JSON_DATA=curl $API_URL
API_URL=https://a.4cdn.org
IMG_URL=https://i.4cdn.org
function get_all_threads() {
THREAD_IDS=`curl -s $API_URL/$BOARD/threads.json | jq -r '.[].threads[].no'`
}
function get_images_from_thread() {
THREAD_ID=$1
IMAGES=`curl -s $API_URL/$BOARD/thread/$THREAD_ID.json | jq -r '(.posts[].tim | tostring)+.posts[].ext'`
}
function download_images() {
for img in $IMAGES; do
FILENAME=$BOARD_$img
URL=$IMG_URL/$BOARD/$FILENAME
$DOWNLOADER $DOWNLOADER_OPTS $OUTDIR/$FILENAME $URL
echo "Image $URL downloaded.."
done
}
function save_urls() {
for img in $IMAGES; do
URL=$IMG_URL/$BOARD/$img
echo $URL >> $OUTDIR/urls.txt
done
}
echo "Fetching threads from $BOARD"
get_all_threads
echo "Fetching images from threads in $BOARD"
for thread in $THREAD_IDS; do
get_images_from_thread $thread
echo "Downloading images from thread $thread in $BOARD"
save_urls
done
aria2c -x 5 -i $OUTDIR/urls.txt