como baixar imagens de pastas dentro de seus respectivos nomes [RESOLVIDO]

1. como baixar imagens de pastas dentro de seus respectivos nomes [RESOLVIDO]

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 15/12/2015 - 11:50h

Olá, pessoal mas uma saga dos meus script doidos, me enrolei bonito nesse aqui.
tenho 3 links que estou tentando montar um script para baixar imagens das pastas mas antes criar as pastas para cada link
exemplo seusite.com/imagens/artigo1 no final do link temos a pasta artigo1 pretendo criar a pasta com esse nome artigo1 pegar todos os links dessa pasta e jogar dentro dentro de um arquivo txt da pasta criada artigo1. e usa o wget para ler o lista-artigo1.txt.
ai que me enrolei não faço nem ideia como fazer para o script criar as pastas de forma automatica.

segue meu projeto

#!/bin/bash
SHELL=/bin/sh
PATH=/sbin:/usr/sbin:/usr/bin:/bin

clear
echo
echo " Baixar Imagens de Sites dentro de suas respectivas pastas"
echo ""

# aqui pegaria o nome do final do link e criaria as pastas, depois jogaria todos os links em um arquivo txt dentro da pasta criada
seusite.com/imagens/artigo1
seusite.com/imagens/artigo2
seusite.com/imagens/artigo3

# aqui entraria nas pastas criadas e faria a leitura do arquivo txt para baixar com wget todas as imagens que estão no arquivo txt
cd /home/marciommm/artigo1 && wget -i lista-artigo1.txt
cd /home/marciommm/artigo2 && wget -i lista-artigo2.txt
cd /home/marciommm/artigo3 && wget -i lista-artigo3.txt




  


2. RESP: Tópico: como baixar imagens de pastas dentro de seus respectivos nomes

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 15/12/2015 - 12:07h

Opá, tudo certo conectadohost .
Qual é a sua dúvida?
Posta ai o que você já fez. . .

Marcelo


3. RES: como baixar imagens de pastas dentro de seus respectivos nomes

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 15/12/2015 - 15:15h

to quase desistindo, já fiz mais de 350 scripts shell, mas esse aqui ta tão complicado para mim
que me enrola o cérebro até pra conseguir entender o que tenho que fazer.kkkk

arquivo teste1 contem os links
http://www.seusite.com.br/?id=336&artigo1
http://www.seusite.com.br/?id=390&artigo2
http://www.seusite.com.br/?id=340&artigo3

utilizei o comando com delimitador para pegar somente o final do link e gerar o arquivo nomes-das-pastas.txt
cat teste1.txt | awk -F"&" '{print $2}' > /home/pj/nomes-das-pastas.txt

ficando assim
/home/pj/nomes-das-pastas.txt
artigo1
artigo2
artigo3

ai tentei comparar os nomes das pastas com o arquivo teste1.txt
se encontrar o nome da pasta no arquivo teste1.txt é gerado um arquivo txt dentro de cada pasta com o link da pasta
para que com o comando wget eu consiga fazer a leitura do arquivo e baixar as imagens.

desse modo:
o script encontra a pasta artigo1 e cria um arquivo txt com nome de lista.txt e dentro desse arquivo o link
http://www.seusite.com.br/?id=336&artigo1
para que depois eu faça o esquema com o wget.

Por enquanto só consegui fazer criar as pastas lendo o final do link

#!/bin/bash
SHELL=/bin/sh
PATH=/sbin:/usr/sbin:/usr/bin:/bin

clear
echo
echo " Baixar Imagens de Sites dentro de suas respectivas pastas"
echo ""


for ACCT in `cat /home/pj/nomes-das-pastas.txt `; do mkdir /home/pj/$ACCT ;done


lis=$( cat /home/pj/teste1.txt | awk -F " " '{print " "$1}' )

for i in $lis
do

line_num=$( grep -n $i /home/pj/nomes-das-pastas.txt | awk -F " " '{print " "$1}' )


if [ "$lis" -gt "$line-num" ];
then
echo -e " $line_num " > /home/pj/$line_num/lista.txt

else
echo " não encontramos nada"
fi
done

msoliver escreveu:

Opá, tudo certo conectadohost .
Qual é a sua dúvida?
Posta ai o que você já fez. . .

Marcelo




---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


4. RESP: como baixar imagens de pastas dentro de seus respectivos nomes

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 15/12/2015 - 15:46h

Vamos "ver" se entendi:
Existe um txt com os links.
Para cada link, é criado uma pasta, o nome da mesma é o final do link, após o "&".
Acessa com wget e salva na referida pasta.
É isso?

Esses links apontam p/ o mesmo endereço, mudando somente o nome da imagem?

Marcelo



5. RES:como baixar imagens de pastas dentro de seus respectivos nomes

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 15/12/2015 - 15:58h

isso mesmo meu jovem

msoliver escreveu:

Vamos "ver" se entendi:
Existe um txt com os links.
Para cada link, é criado uma pasta, o nome da mesma é o final do link, após o "&".
Acessa com wget e salva na referida pasta.
É isso?

Esses links apontam p/ o mesmo endereço, mudando somente o nome da imagem?

Marcelo




---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


6. RESP: como baixar imagens de pastas dentro de seus respectivos nomes

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 15/12/2015 - 17:56h

conectadohost ,
Dei uma "olhada" no seu "rascunho", você complicou demais . . . :)
A "coisa" é bastante simples, o ser humano é que complica!!!!

Montei um, só falta vc completar a linha do wget. Tem uma opção para gravar na pasta desejada.
Testei aqui, ele leu o arquivo com os links, e criou as pastas, conforme necessário . . .
Com relação ao "rapaz" .... tenho 51! :)
Se referir-se a minha pessoa como Senhor, não respondo mais ..... KKKKK

Segue:

#!/bin/bash
ARQ="ARQUIVO_COM_LINKS"
#Lê O ARQUIVO COM LINKS, CRIA PASTA E BAIXA!

while IFS="\n" read -r line;do
END_IMG=$(cut -d"&" -f2 <<< "$line")
mkdir "$END_IMG"
#wget "$line"
done < $ARQ

Att.:
Marcelo


7. RES: como baixar imagens de pastas dentro de seus respectivos nomes

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 15/12/2015 - 20:13h

Obrigado pela ajuda senhor.kkk
mas num funfou deu o seguinte erro
/bin/projeto.sh: linha 21: $ARQ: redirecionamento ambíguo
por hoje cansei, vou esfriar a cabeça e começar a novela novamente amanhã.

msoliver escreveu:

conectadohost ,
Dei uma "olhada" no seu "rascunho", você complicou demais . . . :)
A "coisa" é bastante simples, o ser humano é que complica!!!!

Montei um, só falta vc completar a linha do wget. Tem uma opção para gravar na pasta desejada.
Testei aqui, ele leu o arquivo com os links, e criou as pastas, conforme necessário . . .
Com relação ao "rapaz" .... tenho 51! :)
Se referir-se a minha pessoa como Senhor, não respondo mais ..... KKKKK

Segue:

#!/bin/bash
$ARQ="ARQUIVO_COM_LINKS"
#Lê O ARQUIVO COM LINKS, CRIA PASTA E BAIXA!

while IFS="\n" read -r line;do
END_IMG=$(cut -d"&" -f2 <<< "$line")
mkdir "$END_IMG"
#wget "$line"
done < $ARQ

Att.:
Marcelo




---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


8. RES: como baixar imagens de pastas dentro de seus respectivos nomes

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 16/12/2015 - 13:15h

Olá,
terminei, levei 2 dias mas consegui.kkk

#!/bin/bash
SHELL=/bin/sh
PATH=/sbin:/usr/sbin:/usr/bin:/bin

clear
echo
echo " Baixar Imagens de Sites dentro de suas respectivas pastas"
echo ""

#arquivo teste.txt com os links

#pegando o final dos links para ser o nome das pastas

cat /home/marciommm/pj/teste.txt | awk -F"&" '{print $2}' > /home/marciommm/pj/teste1.txt

#criando as pastas
for ACCT in `cat /home/marciommm/pj/teste1.txt | awk -F"&" '{print $2}'`; do mkdir /home/marciommm/pj/$ACCT ;done

#juntando os links com os nomes da pastas para que o arquivo fique desse modo http://www.seusite.com/?id=347&artigo1 artigo1
cd /home/marciommm/pj/
paste teste.txt teste1.txt > teste2.txt

#adicionando 2 variaveis LL e PP para poder manipular o arquivo
cat /home/marciommm/pj/teste2.txt | awk -F " " '{print "LL"$1" PP"$2"" }' > /home/marciommm/pj/teste3.txt

# Ficando desse modo LL http://www.seusite.com/?id=347&artigo1 PP artigo1

cd /home/pj/

# Ler o arquivo teste3 com wile
let linhas=`cat /home/marciommm/pj/teste3.txt |wc -l`
cat /home/pj/teste3.txt|tail -$linhas|sed 's/PP//'|
#ler o arquivo atraves das variaveis LL e PP
while read LL PP
do

#Remover o LL do arquivo teste3.txt e deixar somente o PP criando um arquivo com nome de lista dentro de cada pasta criada contendo o link da pasta original do site

cat /home/marciommm/pj/teste3.txt | grep $LL | cut -dP -f1 | cut -dL -f3 > /home/marciommm/pj/$PP/lista

exit

#done


#ler o arquivo teste3 somente na variavel PP que são os nomes das pastas
let linhas=`cat /home/marciommm/pj/teste3.txt |wc -l`
cat /home/marciommm/pj/teste11.txt|tail -$linhas|sed 's/PP//'|
while read PP
do


#remove o & do final do link gerando o arquivo lista 1 dessa forma http://www.seusite.com/?id=331
cat /home/marciommm/pj/$PP/lista | awk -F"&" '{print $1}' > /home/marciommm/pj/$PP/lista1

cd /home/marciommm/pj/$PP/

# ler o arquivo lista1 para poder pegar o codigo fonte das imagens
for ACCT in `cat /home/pj/$PP/lista1 ` ; do lynx -source $ACCT >/home/pj/$PP/lista2.txt ; done

#baixar somente as imagens necessárias
#cd /home/marciommm/pj/$PP/ && sed 's/\"/\n/g' lista2.txt | grep http://admin.seusite.com/fotos/ > lista3.txt

#ufa finalmente temos o arquivo com os links da imagens
#wget para ler o arquivo e baixar somente as imagens necessárias

cd /home/pj/$PP/ && wget -i lista3.txt

done

meu objetivo era criar as pastas através do final do link
dentro de cada pasta criar um arquivo com os links para download de cada imagem correspondente a cada pasta
deu certoooo!!!!!


msoliver escreveu:

conectadohost ,
Dei uma "olhada" no seu "rascunho", você complicou demais . . . :)
A "coisa" é bastante simples, o ser humano é que complica!!!!

Montei um, só falta vc completar a linha do wget. Tem uma opção para gravar na pasta desejada.
Testei aqui, ele leu o arquivo com os links, e criou as pastas, conforme necessário . . .
Com relação ao "rapaz" .... tenho 51! :)
Se referir-se a minha pessoa como Senhor, não respondo mais ..... KKKKK

Segue:

#!/bin/bash
$ARQ="ARQUIVO_COM_LINKS"
#Lê O ARQUIVO COM LINKS, CRIA PASTA E BAIXA!

while IFS="\n" read -r line;do
END_IMG=$(cut -d"&" -f2 <<< "$line")
mkdir "$END_IMG"
#wget "$line"
done < $ARQ

Att.:
Marcelo




---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


9. Resp: como baixar imagens de pastas dentro de seus respectivos nomes

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/12/2015 - 16:09h

Opá!
ERRO na linha 21, mas meu script tem somente 09 linhas ..... Rsrsrsrsr
Tem uma pegadinha na linha 02.....
Nem percebeu, né?
KKKKKK
Pegadinha nada, errei mesmo, a preguiça de digitar é "P-H-O-D-A" . . .
Depois que testei, fui determinar essa variável "ARQ", ai copiei a ultima linha, e não apaguei tudo..... rsrsrsr

Desculpe ai...

#!/bin/bash
ARQ="ARQUIVO_COM_LINKS"
#Lê O ARQUIVO COM LINKS, CRIA PASTA E BAIXA!

while IFS="\n" read -r line;do
END_IMG=$(cut -d"&" -f2 <<< "$line")
mkdir "$END_IMG"
#wget "$line"
done < $ARQ

Marcelo






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts