[RISOLTO] aiuto wget!

Installazione, configurazione e uso di programmi e strumenti.
jack_the_ripper
Prode Principiante
Messaggi: 62
Iscrizione: martedì 28 novembre 2006, 11:55
Località: Imola

[RISOLTO] aiuto wget!

Messaggio da jack_the_ripper »

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  :-[
Ultima modifica di jack_the_ripper il mercoledì 16 luglio 2008, 15:19, modificato 1 volta in totale.
Avatar utente
Massimo S.
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1931
Iscrizione: giovedì 28 settembre 2006, 14:34

Re: aiuto wget!

Messaggio da Massimo S. »

Ma sei sicuro che WGET possa farlo?

Mi sono spulciato il suo man page, ma non mi sembra di aver trovato niente di simile
Avatar utente
Janvitus
Amministratore
Amministratore
Messaggi: 18787
Iscrizione: lunedì 25 aprile 2005, 15:52
Desktop: GNOME Shell / Xfce
Sesso: Maschile
Località: Potenza
Contatti:

Re: aiuto wget!

Messaggio da Janvitus »

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   :-[
PRovato a leggere il manuale?

man wget
+Fedora 40 • +Xubuntu 24.04
Avatar utente
Massimo S.
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1931
Iscrizione: giovedì 28 settembre 2006, 14:34

Re: aiuto wget!

Messaggio da Massimo S. »

Janvitus ha scritto: PRovato a leggere il manuale?

man wget
Come dicevo, ci ho provato io, ma fra le centinaia di opzioni non mi è sembrato di trovare niente che facesse al caso  :-\
Avatar utente
mous16
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3940
Iscrizione: mercoledì 25 ottobre 2006, 15:51
Sesso: Maschile

Re: aiuto wget!

Messaggio da mous16 »

con wget puoi scaricare quella pagina. poi potresti rimediarti un programmino che presa la pagina html ti butti fuori tutti i link che contiente
Pagine personali: Forum Ubuntu-it - Wiki Ubuntu-it - Launchpad
Solo/mous16
jack_the_ripper
Prode Principiante
Messaggi: 62
Iscrizione: martedì 28 novembre 2006, 11:55
Località: Imola

Re: aiuto wget!

Messaggio da jack_the_ripper »

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)
Avatar utente
tomm
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 796
Iscrizione: lunedì 15 ottobre 2007, 10:16
Desktop: Gnome
Distribuzione: Ubuntu 16.04

Re: aiuto wget!

Messaggio da tomm »

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
Avatar utente
krasty
Prode Principiante
Messaggi: 92
Iscrizione: mercoledì 30 aprile 2008, 15:21
Contatti:

Re: aiuto wget!

Messaggio da krasty »

Se vuoi solo i link
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!

Messaggio da jack_the_ripper »

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 ;)
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
eh no, il procedimento lo devo ripetere per qualcosa come 600-700 pagine identiche a quella...
per questo avevo pensato a uno script in perl che lo facesse al posto mio  ;D
gli aiuti sono sempre ben accetti...
grazie
Avatar utente
mous16
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3940
Iscrizione: mercoledì 25 ottobre 2006, 15:51
Sesso: Maschile

Re: aiuto wget!

Messaggio da mous16 »

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
Pagine personali: Forum Ubuntu-it - Wiki Ubuntu-it - Launchpad
Solo/mous16
jack_the_ripper
Prode Principiante
Messaggi: 62
Iscrizione: martedì 28 novembre 2006, 11:55
Località: Imola

Re: aiuto wget!

Messaggio da jack_the_ripper »

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
Avatar utente
Massimo S.
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1931
Iscrizione: giovedì 28 settembre 2006, 14:34

Re: aiuto wget!

Messaggio da Massimo S. »

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!

Messaggio da jack_the_ripper »

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)
Ultima modifica di jack_the_ripper il lunedì 14 luglio 2008, 20:10, modificato 1 volta in totale.
Avatar utente
tomm
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 796
Iscrizione: lunedì 15 ottobre 2007, 10:16
Desktop: Gnome
Distribuzione: Ubuntu 16.04

Re: aiuto wget!

Messaggio da tomm »

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

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
link molto utile: http://tldp.org/LDP/abs/html/loops1.html

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!

Messaggio da jack_the_ripper »

allora, ho scritto il file wget.sh in questo modo:

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

done
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)
Avatar utente
tomm
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 796
Iscrizione: lunedì 15 ottobre 2007, 10:16
Desktop: Gnome
Distribuzione: Ubuntu 16.04

Re: aiuto wget!

Messaggio da tomm »

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

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 ..
done
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! >:(
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!

Messaggio da jack_the_ripper »

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  ???
Avatar utente
tomm
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 796
Iscrizione: lunedì 15 ottobre 2007, 10:16
Desktop: Gnome
Distribuzione: Ubuntu 16.04

Re: aiuto wget!

Messaggio da tomm »

qui c'è quello che ti serve: sed!
http://glcfapp.umiacs.umd.edu:8080/esdi/index.jsp

In particolare a te dovrebbe interessare questo:
# print only lines which match regular expression (emulates "grep")
sed -n '/regexp/p'          # method 1
sed '/regexp/!d'            # method 2
sostitusci regexp con una qualsiasi stringa che compare in tutte le linee con i link e solo in quelle.

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")
# 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
esempio di uso di sed:

Codice: Seleziona tutto

sed -e 's/stazione//g' tuo_file > temp && mv  temp tuo_file
elimina tutte le parole "stazione" da tuo_file
Ultima modifica di tomm il martedì 15 luglio 2008, 16:32, modificato 1 volta in totale.
Avatar utente
ziocane
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3253
Iscrizione: sabato 28 aprile 2007, 11:30
Contatti:

Re: aiuto wget!

Messaggio da ziocane »

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!
Ultima modifica di ziocane il lunedì 17 agosto 2009, 11:36, modificato 1 volta in totale.
Sono uno Zero member!
Avatar utente
mous16
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3940
Iscrizione: mercoledì 25 ottobre 2006, 15:51
Sesso: Maschile

Re: aiuto wget!

Messaggio da mous16 »

deve farlo in automatico per TANTE pagine mi pare di aver capito... gli verrà una tendinite...
Pagine personali: Forum Ubuntu-it - Wiki Ubuntu-it - Launchpad
Solo/mous16
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 8 ospiti