Я хочу создать скрипт для загрузки изображения в лучшем разрешении (не предварительного просмотра) по ссылке deviantART, как если бы я нажал кнопку "Загрузить".

Тем не менее, кажется, что deviantART перенаправляет браузер для загрузки изображения из другого источника, и я не могу найти, как получить этот источник через скрипт bash.

Например, я хочу дать эту ссылку в качестве ввода:

http://earthsong9405.deviantart.com/art/The-Big-Boys-357700214

И получите изображение, расположенное здесь:

http://fc05.deviantart.net/fs71/f/2013/077/1/c/the_big_boys_by_earthsong9405-d5wyr92.png

По адресу, указанному по ссылке в кнопке загрузки:

_http://www.deviantart.com/download/357700214/the_big_boys_by_earthsong9405-d5wyr92.png маркер = add3c3dbf4112b7140930c574a819878509c7ebc & ц = 1403209394?

1 ответ1

0

Пока код страницы будет такого типа, вы можете сделать это с помощью небольшого скрипта, как показано ниже:

MyUrl=$1

File_Url=$(wget -q -O - "$MyUrl")    # here you put the file html in a variable 
Line=$(echo "$File_Url" |grep -e 'meta name="og:image"')   # select only 1 line
# echo $Line
Img=$(echo $Line |sed -e 's/<meta name="og:image" content="//g' -e 's/">//g')
# echo $File_To_Download
wget -q  $Img

URL -адрес изображения, которое вы ищете, включен в тег meta name="og:image"
Таким образом, вы можете скачать с помощью wget страницу, пройти через grep чтобы выбрать уникальную строку, очистить от ненужного с помощью sed .
Как только вы получите таким образом URL вашего изображения (в скрипте внутри переменной Img), вы можете снова использовать wget для его загрузки.

Это действует до тех пор, пока внутренний код страницы не будет такого типа. Иначе вам нужно найти другой способ выбрать интересующий вас уникальный тег.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .