Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [script] Download pagine multiple

    La pagina www.esempio.org ha, poniamo, 1000 links tutti costruiti così

    <a href="0027.html"> link27

    E quindi www.esempio.org/0027.html ecc

    Avrei bisogno di un wget esteso a un tutti e 1000 i links della pagina, che quindi mi scarichi

    esempio.org/0001.html
    esempio.org/0002.html
    esempio.org/0289.html

    Suppongo si possa risolvere con tre cicli for costruiti a questo modo

    wget url + 000 + 00-09
    wget url + 00 + 10-99
    wget url + 0 + 100-999

    Ma in pratica, non conoscendo lo scripting bash, non so come implementare il tutto... un aiutino?

    Grazie.

  2. #2
    Grazie al Bash Programming HowTo sono riuscito a fare lo script senza consocere nulla di bash

    codice:
    #!/bin/bash
    
        STR="www.googe.it/"
        wget $STR
    
             COUNTER=0
             while [  $COUNTER -lt 9 ]; do
    
                 let COUNTER=COUNTER+1
                 echo $STR 000$COUNTER .html
             done
    
             COUNTER2=10
             while [  $COUNTER -lt 99 ]; do
    
                 let COUNTER=COUNTER+1
                 echo $STR 00$COUNTER .html
             done
    
             COUNTER3=100
             while [  $COUNTER -lt 999 ]; do
    
                 let COUNTER=COUNTER+1
                 echo $STR 0$COUNTER .html
             done
    Ho usato echo al posto di wget per il debug, poi lo cambio ovviamente.
    Ho solo un'ultimo problema... non posso usare

    echo $STR 000$COUNTER .html (ecc)

    senza spazi perche' adrei a segnalare una variabile $STR000 che non esiste, ma lasciando così il risultato appare

    www.google.it/ 0991 .html

    Come posso levare gli spazi?

  3. #3
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Originariamente inviato da maiosyet_2
    ...
    Ho solo un'ultimo problema... non posso usare

    echo $STR 000$COUNTER .html (ecc)

    senza spazi perche' adrei a segnalare una variabile $STR000 che non esiste, ma lasciando così il risultato appare

    www.google.it/ 0991 .html

    Come posso levare gli spazi?
    Perdona se non ho guardato il resto del post.
    priva a scrivere:
    echo ${STR}000${COUNTER}.html

    ciao
    slack? smack!

  4. #4

    Re: [script] Download pagine multiple

    Originariamente inviato da maiosyet_2
    Avrei bisogno di un wget esteso a un tutti e 1000 i links della pagina, che quindi mi scarichi

    esempio.org/0001.html
    esempio.org/0002.html
    esempio.org/0289.html
    codice:
    for i in `seq 1 1000`; do
        wget esempio.org/`printf %04i $i`.html
    done
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  5. #5
    Originariamente inviato da cacao74
    Perdona se non ho guardato il resto del post.
    priva a scrivere:
    echo ${STR}000${COUNTER}.html

    ciao
    Grande, esattamente quello che mi serviva!
    Ora funziona perfettamente

    Originariamente inviato da Ikitt
    ...
    Acc... se da una parte hai fatto in 3 righe quello che io ho fatto in 17 (perdonatemi, ma non conosco nulla di bash scripting e sono andato a intuito ) ho comunque una piccola conosolazione... (oltre ad avere una soluzione "mia" )

    codice:
    $ time ./Ikitt.sh
    real    0m2.433s
    user    0m0.262s
    sys     0m0.392s
    
    $ time ./Mio.sh
    real    0m0.361s
    user    0m0.067s
    sys     0m0.007s
    Surclassato


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.