Pular para o conteúdo

imageDownloader

Eu tenho um problema: Por vezes eu gosto de uma imagem que vi no Twitter e afins e quero baixar e organizar aquelas imagens. Com isso, me veio uma ideia: Por que não fazer um Script que baixa a imagem pela URL da imagem e renomeia ela com as informações nas URLs dos posts? E assim eu fiz.

Esse script precisa do YAD para o diálogo e o Curl para baixar as imagens.

E aqui tem mais detalhes de como ele funciona: https://rapoelho.com.br/posts/image-downloader/
Guilherme Moreira de Oliveira coelhoposa
Hits: 1.271 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Eu tenho um problema: Por vezes eu gosto de uma imagem que vi no Twitter e afins e quero baixar e organizar aquelas imagens. Com isso, me veio uma ideia: Por que não fazer um Script que baixa a imagem pela URL da imagem e renomeia ela com as informações nas URLs dos posts? E assim eu fiz.

Esse script precisa do YAD para o diálogo e o Curl para baixar as imagens.

E aqui tem mais detalhes de como ele funciona: https://rapoelho.com.br/posts/image-downloader/
Download imageDownloader Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

#!/bin/bash

tempImg="/tmp/imagedownloader.txt"
picFolder="$(xdg-user-dir PICTURES)"
idFolder="$picFolder/ImageDownloader"

clearVariables () {
   urlImage=""
   urlPost=""
   filename=""
   
   rm $tempImg
}

downloadImage () {
   clearVariables
   yad --title="Image Downloader" --text="Favor, entrar com detalhes" \
      --form --separator="\n" \
      --field="URL da Imagem" \
      --field="URL da Postagem" \
      --width=400 --center > $tempImg

   ## Retirando Linhas Vazias do Arquivo
   sed -i '/^$/d' $tempImg

   ## Definindo Variáveis
   urlImage="$(head -n 1 $tempImg)"
   urlPost="$(tail -n 1 $tempImg)"

   if ! [[ -z `echo $urlPost | grep "x.com"` ]]; then
      author="$(echo $urlPost | cut -d '/' -f4)" ## Separando o Nome do Autor do Tuíte
      
      ## O Twitter tem dois tipos finais para as URLs dos tuítes: "?s=20" e "/photo/1".   
      if [[ -z `echo $urlPost | grep "photo"` ]]; then
         idImage="$(echo $urlPost | cut -d '/' -f6 | cut -d"?" -f1)" ## Separando o ID da Imagem, com o separador sendo o "?"
      else
         idImage="$(echo $urlPost | cut -d '/' -f6)" ## Separando o ID da Imagem, com o separador sendo o "/"
      fi
      
      fileExt="$(echo $urlImage | cut -d '/' -f5 | cut -d '&' -f1 | cut -d '=' -f2)"   
      filename="$author-Twitter-$idImage.$fileExt" ## Juntando tudo num Nome de Arquivo
   
   elif ! [[ -z `echo $urlPost | grep "bsky.app"` ]];then
      author="$(echo $urlPost | cut -d '/' -f5 | cut -d '.' -f1)"
      idImage="$(echo $urlPost | cut -d '/' -f7)"
      
      fileExt="$(echo $urlImage | cut -d '@' -f2)"
      filename="$author-bsky-$idImage.$fileExt"
      
   elif ! [[ -z `echo $urlPost | grep "pinterest"` ]];then
      idImage="$(echo $urlPost | cut -d '/' -f5)"
      
      fileExt="$(echo $urlImage | cut -d '/' -f8 | cut -d '.' -f2)"
      filename="pinterest-$idImage.$fileExt"
      
   elif ! [[ -z `echo $urlPost | grep "furaffinity"` ]];then
      author="$(echo $urlImage | cut -d '/' -f5)"
      idImage="$(echo $urlPost | cut -d '/' -f5)"
      
      fileExt="$(echo $urlImage | cut -d '/' -f7 | cut -d '.' -f3)"
      filename="$author-FurAffinity-$idImage.$fileExt"
   
   elif ! [[ -z `echo $urlPost | grep "deviantart"` ]];then
      author="$(echo $urlPost | cut -d '/' -f4)"
      idImage="$(echo $urlPost | cut -d '/' -f6)"
      
      fileExt="$(echo $urlImage | cut -d '/' -f10 | cut -d '.' -f2 | cut -d '?' -f1)"
      filename="$author-deviantArt_$idImage.$fileExt"
      
   elif ! [[ -z `echo $urlPost | grep "facebook"` ]];then
      idImage="$(echo $urlPost | cut -d '=' -f2 | cut -d '&' -f1)"
      
      fileExt="$(echo $urlImage | cut -d '/' -f6 | cut -d '?' -f1 | cut -d '.' -f2)"
      filename="Facebook-$idImage.$fileExt"
   fi

   if ! [[ -z "$filename" && -z "$urlImage" ]]; then 
      echo -e "\n## Baixando $filename..."
      curl -o $idFolder/$filename $urlImage
   fi
   
   printf "%s" "$*" "$filename" | cut -d '.' -f1 | xclip -selection clipboard
   
   sleep 3
   continue
}

continue () {
   yad --center -title="Image Downloader" \
    --image="dialog-question" \
    --text="Deseja Continuar?" \
    --button="Sim:0" \
    --button="Não:1"

   ret=$?

   if [[ $ret -eq 0 ]]; then
      downloadImage
   elif [[ $ret -eq 1 ]]; then
      exit
   else
      echo "O Image Downloader foi fechado."
   fi
}


downloadImage
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Script instalador do obmenu-generator e configuração do openbox

infonow - all system information

Criar pacote Debian o firefox de br.mozdev.org

InstallTXZ - converte e instala pacotes do Slackware no Debian

AptList v1.1 - instalação de pacotes DEB a partir de uma lista

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.