Wget Изображение Викимедиа?
Я пытаюсь загрузить изображение из Wikimedia Commons, используя URL-адрес страницы в пространстве имен файлов:
wget http://commons.wikimedia.org/wiki/File:A_golden_tree_during_the_golden_season.JPG
все, что я получаю, это файл JPG, который я не могу открыть. Но когда вы переходите по ссылке, вы на самом деле видите страницу, а не само изображение, но есть ссылка "Полное разрешение", которая отправляет вас на реальную ссылку на изображение: http://upload.wikimedia.org/wikipedia/commons/9/92/A_golden_tree_during_the_golden_season.JPG
Как я могу скачать этот файл, имея только первую ссылку?
3 ответа
Извлечь заголовок без пространства имен (A_golden_tree_during_the_golden_season.JPG
) и передать его в Special: Redirect.
wget http://commons.wikimedia.org/wiki/Special:Redirect/file/$( echo 'http://commons.wikimedia.org/wiki/File:A_golden_tree_during_the_golden_season.JPG' | sed 's/.*\/File\:\(.*\)/\1/g' )
Вы можете попробовать следующее:
wget http://commons.wikimedia.org/wiki/File:A_golden_tree_during_the_golden_season.JPG -O output.html; wget $(cat output.html | grep fullMedia | sed 's/\(.*href="\/\/\)\([^ ]*\)\(" class.*\)/\2/g')
Первый wget
получает указанную вами ссылку. Я просмотрел несколько страниц и обнаружил, что изображения с высоким разрешением div
с классом =fullMedia. Он анализирует URL-адрес изображения и затем извлекает это изображение.
PS: Как уже говорилось выше, bash - не очень хороший способ сделать это. Вы должны посмотреть на то, что разбирает деревья.
wget http://upload.wikimedia.org/wikipedia/commons/9/92/A_golden_tree_during_the_golden_season.JPG
Вы загружали веб-страницу, а не само изображение.
Вы можете использовать следующую ссылку для получения:https://upload.wikimedia.org/wikipedia/commons/9/92/A_golden_tree_during_the_golden_season.JPG Даже у меня была такая же проблема, нажмите на изображение, вы получите ссылку выше, я надеюсь это поможет