ОБНОВЛЕНО:
Я обнаружил, что использование этого скрипта Bash решает проблему наличия файлов GIF с расширением .jpg.
Я пытаюсь загрузить изображения с форума, URL которого использует следующий формат:
http://www.someforum.com/attachment.php&id=XXX
Я написал скрипт bash, который использует wget
для получения этих изображений:
for i in {1..10}
do
wget --accept .jpg,.jpeg --cookies=on --load-cookies=cookies.txt -p "http://www.someforum.com/attachment.php&id=${i}" -O "image${i}.jpg"
done
Работает и скачивает изображения. Однако, если изображение отсутствует, оно все равно загружает полученный HTML- код и помещает его в XX.jpg
.
Керл делает то же самое:
for i in {1..10}
do
curl --cookie cookies.txt "http://www.someforum.com/attachment.php&id=${i}" -o "image${i}.jpg"
done
Есть ли способ отклонить результаты, которые не являются /image/*
? Прямо сейчас я предполагаю, что изображения в формате JPEG, было бы неплохо обнаружить MIME/TYPE и использовать соответствующее имя файла.
Наконец, wget выдает 500 кодов ответов, когда изображение не найдено, если я могу отфильтровать 200 кодов ответов, это может привести к решению.
Bash, Ruby, Python ответы приемлемы.