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 <---