То же самое сделал сегодня, используя Bash. Это действительно просто, но работало нормально.
Сначала я создал две директории, куда я положил файлы:
mkdir -p html/archived
mkdir png
Затем работал с двумя шагами. Сначала просмотрите все страницы:
START=15
END=4783
for ((i=START;i<=END;i++)); do
echo $i
wget http://explosm.net/comics/$i/ -O html/$i.html
done
#Remove 404
find html -name '*.html' -size 0 -print0 | xargs -0 rm
2-й, для каждой страницы удалите htmlm и извлеките картинку:
#!/bin/bash
for filename in ./html/*.html; do
i=`echo $filename | cut -d '"' -f 4 | cut -d '/' -f3 | cut -d '.' -f1`
echo "$filename => $i"
wget -c "$(grep '<meta property="og:image" content=' ${filename} | cut -d '"' -f 4)" -O ./png/${i}.png
mv $filename ./html/archived/
done
Результат здесь:
Cyanide_and_happiness__up_to_2017-11-24.zip
Обратите внимание, что я не особо заботился о возможном сбое, но, считая 4606 файлов, похоже, что все в порядке.
Я также сохранил все как png. Вероятно, это jpg, и я заметил 185 файлов размером 0, но ... не стесняйтесь об этом, я просто не буду:)