PDA

Visualizza la versione completa : Bash ricavare indirizzi html


bako
27-09-2007, 19:36
salve gente.
ho fatto, sto facendo, uno script che trova tutti i link di una pagina html e se questi sono .pdf li scarica. ora, ho fatto:
link=$(lynx -dump link.html)
for f in $link
do
if MANCA LA CONDIZIONE then
SCARICO IL LINK
fi
done

come si fa la condizione? è la stringa che inzia con http:// e finisce con .pdf, ma nn iresco a farla.
aiuti?

MatCap83
28-09-2007, 11:39
Il fatto che inizia con http non penso influisca... si tratta semplicemente di gestire la stringa, te devi andare a vedere gli ultimi caratteri se sono "pdf", in questo caso allora scarichi il file... ora non ricordo le funzioni delle stringhe sinceramente :mame: ! Dai un'occhiata quì:

http://www.pluto.it/files/ildp/guide/abs/string-manipulation.html

estrapoli la parte finale, gli ultimi 3 caratteri e vedi se sono "pdf" all'interno della condizione dell'if..

Mutato
28-09-2007, 12:07
Il problema e` che devi parsare il codice HTML alla ricerca dei link che siano collegati a documenti PDF. Giustamente questa stringa puo` essere tipo http://[...].pdf, ma puo` anche trattarsi di un indirizzo relativo tipo: ../dir/documento.pdf; in questo secondo caso devi ricostruire la parte mancante della URL.

Soluzione? Usa wget (man wget)



wget -nd -rl1 -T60 -U Firefox -A ".pdf" -P $DIR "$URL"


wget si occupa di scaricare tutti i documenti .pdf della pagina, li salva in $DIR (una directory), mentre $URL e` la url della pagina.

Ciao.

MatCap83
29-09-2007, 11:40
Originariamente inviato da Mutato


wget -nd -rl1 -T60 -U Firefox -A ".pdf" -P $DIR "$URL"



Ottima soluzione :D .. se avrò bisogno di chiedere qualcosa di bash allora chiederò a te Mutato :mame: ...

Loading