[RISOLTO] aiuto wget!
-
jack_the_ripper
- Prode Principiante
- Messaggi: 62
- Iscrizione: martedì 28 novembre 2006, 11:55
- Località: Imola
[RISOLTO] aiuto wget!
raga come faccio a dire a wget di farmi una lista di tutti i link che ci sono in questa pagina? http://legislature.camera.it/deputati/legislatureprecedenti/Leg06/deputatoiniziativalegislativa.asp?tipo=PDL&deputato=d10
mi basterebbe un output di testo in cui ci fosse un link per riga...
help me please :-[
mi basterebbe un output di testo in cui ci fosse un link per riga...
help me please :-[
Ultima modifica di jack_the_ripper il mercoledì 16 luglio 2008, 15:19, modificato 1 volta in totale.
- Massimo S.
- Entusiasta Emergente

- Messaggi: 1931
- Iscrizione: giovedì 28 settembre 2006, 14:34
Re: aiuto wget!
Ma sei sicuro che WGET possa farlo?
Mi sono spulciato il suo man page, ma non mi sembra di aver trovato niente di simile
Mi sono spulciato il suo man page, ma non mi sembra di aver trovato niente di simile
- Janvitus
- Amministratore

- Messaggi: 18787
- Iscrizione: lunedì 25 aprile 2005, 15:52
- Desktop: GNOME Shell / Xfce
- Sesso: Maschile
- Località: Potenza
- Contatti:
Re: aiuto wget!
PRovato a leggere il manuale?jack_the_ripper ha scritto: raga come faccio a dire a wget di farmi una lista di tutti i link che ci sono in questa pagina? http://legislature.camera.it/deputati/legislatureprecedenti/Leg06/deputatoiniziativalegislativa.asp?tipo=PDL&deputato=d10
mi basterebbe un output di testo in cui ci fosse un link per riga...
help me please :-[
man wget
- Massimo S.
- Entusiasta Emergente

- Messaggi: 1931
- Iscrizione: giovedì 28 settembre 2006, 14:34
Re: aiuto wget!
Come dicevo, ci ho provato io, ma fra le centinaia di opzioni non mi è sembrato di trovare niente che facesse al caso :-\Janvitus ha scritto: PRovato a leggere il manuale?
man wget
- mous16
- Imperturbabile Insigne

- Messaggi: 3940
- Iscrizione: mercoledì 25 ottobre 2006, 15:51
- Sesso: Maschile
Re: aiuto wget!
con wget puoi scaricare quella pagina. poi potresti rimediarti un programmino che presa la pagina html ti butti fuori tutti i link che contiente
-
jack_the_ripper
- Prode Principiante
- Messaggi: 62
- Iscrizione: martedì 28 novembre 2006, 11:55
- Località: Imola
Re: aiuto wget!
ok bè con wget ho provato a scaricarmi la pagina ma siccome è asp (almeno credo sia per quello) mi ritrovo una pagina con solo "la cornice" e niente altro (link, testo, nada...)
cmq stavo quasi pensando che forse potrei provare con uno script in perl che mi buttasse fuori questi link (e magari andasse pure a leggermi le righe di testo che li precedono) si può fare una roba così?mi dareste qualche spunto?thanksssssss
(yes)
cmq stavo quasi pensando che forse potrei provare con uno script in perl che mi buttasse fuori questi link (e magari andasse pure a leggermi le righe di testo che li precedono) si può fare una roba così?mi dareste qualche spunto?thanksssssss
(yes)
- tomm
- Scoppiettante Seguace

- Messaggi: 796
- Iscrizione: lunedì 15 ottobre 2007, 10:16
- Desktop: Gnome
- Distribuzione: Ubuntu 16.04
Re: aiuto wget!
ma ti vuoi esercitare a programmare o ti servono solo i link?
se ti servono solo i link basta che ti copi il codice html della pagine e ti prendi i link che ti servono, giacchè non sono tanti
se ti servono solo i link basta che ti copi il codice html della pagine e ti prendi i link che ti servono, giacchè non sono tanti
Re: aiuto wget!
Se vuoi solo i link
Salva la pagina poi la apri con un editor di testo (gedit) e li prelevi.
Semplice no?
ciao
Salva la pagina poi la apri con un editor di testo (gedit) e li prelevi.
Semplice no?
ciao
-
jack_the_ripper
- Prode Principiante
- Messaggi: 62
- Iscrizione: martedì 28 novembre 2006, 11:55
- Località: Imola
Re: aiuto wget!
krasty ha scritto: Se vuoi solo i link
Salva la pagina poi la apri con un editor di testo (gedit) e li prelevi.
Semplice no?
ciao![]()
eh no, il procedimento lo devo ripetere per qualcosa come 600-700 pagine identiche a quella...tomm ha scritto: ma ti vuoi esercitare a programmare o ti servono solo i link?
se ti servono solo i link basta che ti copi il codice html della pagine e ti prendi i link che ti servono, giacchè non sono tanti
per questo avevo pensato a uno script in perl che lo facesse al posto mio
gli aiuti sono sempre ben accetti...
grazie
- mous16
- Imperturbabile Insigne

- Messaggi: 3940
- Iscrizione: mercoledì 25 ottobre 2006, 15:51
- Sesso: Maschile
Re: aiuto wget!
forse lo script è la cosa migliore... anche in bash!
con wget scarichi le pagine, e poi ne filtri il contenuto, e prendi solo le stringhe tra i tag href
con wget scarichi le pagine, e poi ne filtri il contenuto, e prendi solo le stringhe tra i tag href
-
jack_the_ripper
- Prode Principiante
- Messaggi: 62
- Iscrizione: martedì 28 novembre 2006, 11:55
- Località: Imola
Re: aiuto wget!
già, però resta il fatto che la pagina è asp quindi se ad esempio con firefox faccio view page source da quell'indirizzo si vedono tutti i link con i tag href ma nella stessa pagina scaricata con wget non ci sono! >:(
il che mi fa pensare che dovrei trovare un altro modo senza usare wget o sbaglio?
per lo script da creare ribadisco che sono un profano in materia per cui se aveste qualche consiglio/spunto/guida da poter guardare sarebbe ottimo...
grazie a tutti aspetto fiducioso
il che mi fa pensare che dovrei trovare un altro modo senza usare wget o sbaglio?
per lo script da creare ribadisco che sono un profano in materia per cui se aveste qualche consiglio/spunto/guida da poter guardare sarebbe ottimo...
grazie a tutti aspetto fiducioso
- Massimo S.
- Entusiasta Emergente

- Messaggi: 1931
- Iscrizione: giovedì 28 settembre 2006, 14:34
Re: aiuto wget!
Dovresti anche cercare di capire se l'url che chiami fa un redirect ad un altro url e in caso vedere se c'è un modo di dire a wget di seguire i redirect
-
jack_the_ripper
- Prode Principiante
- Messaggi: 62
- Iscrizione: martedì 28 novembre 2006, 11:55
- Località: Imola
Re: aiuto wget!
no, non mi sembra ci sia alcun redirect...la pagina è quella...
EDIT: mettendo l'url tra virgolette nel comando wget riesco a scaricare la pagina con tutti i link, e li posso avere in formato testo con l'opzione -olog.
ora il passo successivo sarebbe creare uno script che faccia fare wget per tutte le pagine che mi servono (l'indirizzo è lo stesso, cambia un numero alla fine)
come potrei procedere?
grazie ragazzi
(b2b)
EDIT: mettendo l'url tra virgolette nel comando wget riesco a scaricare la pagina con tutti i link, e li posso avere in formato testo con l'opzione -olog.
ora il passo successivo sarebbe creare uno script che faccia fare wget per tutte le pagine che mi servono (l'indirizzo è lo stesso, cambia un numero alla fine)
come potrei procedere?
grazie ragazzi
(b2b)
Ultima modifica di jack_the_ripper il lunedì 14 luglio 2008, 20:10, modificato 1 volta in totale.
- tomm
- Scoppiettante Seguace

- Messaggi: 796
- Iscrizione: lunedì 15 ottobre 2007, 10:16
- Desktop: Gnome
- Distribuzione: Ubuntu 16.04
Re: aiuto wget!
Allora, io dico la mia ma magari aspetta qualche suggerimento più competente...
Gli indirizzi sono in una lista? ognuno su una riga? allora puoi fare così:
Se i numeri alla fine degli indirizzi sono progressivi, così:
link molto utile: http://tldp.org/LDP/abs/html/loops1.html
ciao!
Gli indirizzi sono in una lista? ognuno su una riga? allora puoi fare così:
Codice: Seleziona tutto
#!/bin/bash
for k in $(awk '{print $1}' < lista.indirizzi )
do
wget $k #k prenderà in sequenza il valore di tutti gli indirizzi della lista
done
Se i numeri alla fine degli indirizzi sono progressivi, così:
Codice: Seleziona tutto
#!/bin/bash
for k in $(seq 1 500)
do
wget http//:indirizzo.com/$k #k prenderà in sequenza i valori da 1 a 500
done
ciao!
Ultima modifica di tomm il martedì 15 luglio 2008, 7:32, modificato 1 volta in totale.
-
jack_the_ripper
- Prode Principiante
- Messaggi: 62
- Iscrizione: martedì 28 novembre 2006, 11:55
- Località: Imola
Re: aiuto wget!
allora, ho scritto il file wget.sh in questo modo:
e mi sembra che la cosa funzioni, a parte il fatto che il log che ottengo fa riferimento solo all'ultima delle pagine scaricate, per cui immagino lo sovrascriva ogni volta...come posso fare in modo di avere un log per ogni pagina oppure tutt'al più un log unico per tutte le pagine?
grazie ancora
(good)
Codice: Seleziona tutto
#!/bin/bash
for k in $(seq 10 30) #queste sono solo 3 pagine in quanto le pagine sono numerate 10,20,30 e così via...
do
wget -r -l1 -olog 'http://legislature.camera.it/deputati/legislatureprecedenti/Leg06/deputatoiniziativalegislativa.asp?tipo=PDL&deputato=d'$k
donegrazie ancora
(good)
- tomm
- Scoppiettante Seguace

- Messaggi: 796
- Iscrizione: lunedì 15 ottobre 2007, 10:16
- Desktop: Gnome
- Distribuzione: Ubuntu 16.04
Re: aiuto wget!
ribadisco che sono abbastanza incompetente, ma:
Innanzitutto tieni conto che come hai fatto tu lo script si fa tutti i numeri da 10 a 30 (11,12,13,14,15,16,17.....). Per fargli fare solo 10 20 e 30 e per risolvere il problema della sovrascrittura potresti fare così:
però ho visto che va molto lento. Magari qualcuno ha un suggerimento migliore...(interesserebbe anche a me)
edit: va lento perchè deve scaricare da internet, me asino! >:(
Innanzitutto tieni conto che come hai fatto tu lo script si fa tutti i numeri da 10 a 30 (11,12,13,14,15,16,17.....). Per fargli fare solo 10 20 e 30 e per risolvere il problema della sovrascrittura potresti fare così:
Codice: Seleziona tutto
#!/bin/bash
for k in $(seq 1 3)
do
let "k *= 10"
mkdir $k
cd $k
wget -r -l1 -olog 'http://legislature.camera.it/deputati/legislatureprecedenti/Leg06/deputatoiniziativalegislativa.asp?tipo=PDL&deputato=d'$k
cd ..
doneedit: va lento perchè deve scaricare da internet, me asino! >:(
Ultima modifica di tomm il martedì 15 luglio 2008, 14:38, modificato 1 volta in totale.
-
jack_the_ripper
- Prode Principiante
- Messaggi: 62
- Iscrizione: martedì 28 novembre 2006, 11:55
- Località: Imola
Re: aiuto wget!
benissimo!!ora grazie al vostro aiuto mi sto avvicinando alla meta 
alla fine ho fatto questo script bash molto semplice e il risultato è che ora ho un unico log in cui vi sono (tra le altre cose) tutti i link che mi interessano nell'ordine giusto.
ora, quello che vorrei fare sarebbe "filtrare" questo file di testo in modo da includere solo ed esclusivamente i link, a patto di mantenere invariato l'ordine in cui si presentano...
come potrei fare ???
alla fine ho fatto questo script bash molto semplice e il risultato è che ora ho un unico log in cui vi sono (tra le altre cose) tutti i link che mi interessano nell'ordine giusto.
ora, quello che vorrei fare sarebbe "filtrare" questo file di testo in modo da includere solo ed esclusivamente i link, a patto di mantenere invariato l'ordine in cui si presentano...
come potrei fare ???
- tomm
- Scoppiettante Seguace

- Messaggi: 796
- Iscrizione: lunedì 15 ottobre 2007, 10:16
- Desktop: Gnome
- Distribuzione: Ubuntu 16.04
Re: aiuto wget!
qui c'è quello che ti serve: sed!
http://glcfapp.umiacs.umd.edu:8080/esdi/index.jsp
In particolare a te dovrebbe interessare questo:
Dopodichè devi ripulire le stringhe che hai ottenuto da tutto ciò che non appartiene al link con una di queste funzioni (per cancellare devi ovviamente "sostituire con il vuoto")
elimina tutte le parole "stazione" da tuo_file
http://glcfapp.umiacs.umd.edu:8080/esdi/index.jsp
In particolare a te dovrebbe interessare questo:
sostitusci regexp con una qualsiasi stringa che compare in tutte le linee con i link e solo in quelle.# print only lines which match regular expression (emulates "grep")
sed -n '/regexp/p' # method 1
sed '/regexp/!d' # method 2
Dopodichè devi ripulire le stringhe che hai ottenuto da tutto ciò che non appartiene al link con una di queste funzioni (per cancellare devi ovviamente "sostituire con il vuoto")
esempio di uso di sed:# substitute (find and replace) "foo" with "bar" on each line
sed 's/foo/bar/' # replaces only 1st instance in a line
sed 's/foo/bar/4' # replaces only 4th instance in a line
sed 's/foo/bar/g' # replaces ALL instances in a line
sed 's/\(.*\)foo\(.*foo\)/\1bar\2/' # replace the next-to-last case
sed 's/\(.*\)foo/\1bar/' # replace only the last case
Codice: Seleziona tutto
sed -e 's/stazione//g' tuo_file > temp && mv temp tuo_file
Ultima modifica di tomm il martedì 15 luglio 2008, 16:32, modificato 1 volta in totale.
Re: aiuto wget!
Spero di non dire la c***** del giorno:
ma io farei in un altra maniera, apro l'indirizzo con il browser, poi clicco tasto destro in un punto qualsiasi dello schermo e tramite il plugin dawnthemall scarico tutti i link che mi interessano...
Può essere?Se ho detto una stupidata scusatemi!
ma io farei in un altra maniera, apro l'indirizzo con il browser, poi clicco tasto destro in un punto qualsiasi dello schermo e tramite il plugin dawnthemall scarico tutti i link che mi interessano...
Può essere?Se ho detto una stupidata scusatemi!
Ultima modifica di ziocane il lunedì 17 agosto 2009, 11:36, modificato 1 volta in totale.
Sono uno Zero member!
- mous16
- Imperturbabile Insigne

- Messaggi: 3940
- Iscrizione: mercoledì 25 ottobre 2006, 15:51
- Sesso: Maschile
Re: aiuto wget!
deve farlo in automatico per TANTE pagine mi pare di aver capito... gli verrà una tendinite...
Chi c’è in linea
Visualizzano questa sezione: Bing [Bot] e 7 ospiti