Télécharger plusieurs fichier à la fois

gtrgib Messages postés 544 Statut Membre -  
gtrgib Messages postés 544 Statut Membre -
Bonjour à tous,

J'ai besoin de votre aide pour télécharger plusieurs fichiers en même temps sans devoir cliquer sur chacun des fichier un après l'autre.

À cette adresse "http://trs-80.com/sqlsearch.htm" inscrire la lettre "a" dans la section "Description" et dans la section "Model", choisir "Model III" ensuite cliquer sur "Search".

Vous arrivez sur un page avec plusieurs fichiers à télécharger qui ne font que quelques ko et j'aimerais télécharger tous ces fichiers sans devoir cliquer sur chacun d'eux.

Quelqu'un pourais m'aider à réussir cette exploi?
Je suis sous WindowXp ou Linux Mandriva avec tout deux sous Firefox. J'ai essayé l'extension "DownThemAll" sous Firefox mais ça ne fonctionne pas et pourtant ça déjà fonctionné. Je ne sais pas ce que le gars a fait à sont site pour que ça ne fonctionne plus.

Merci de m'aider car ça fait beaucoup de fichiers à télécharger.

20 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Tu peux essayer d'aspirer le site

    wget -r -np -k 'http://trs-80.com'
    Voir man wget pour les détails.
    1
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    En fait ce qut tu vois c'est un script perl qui prend en argument le nom d'un fichier .zip

    Si par exemple j'essaie de télécharger Adventure je vois que le téléchargement se fait depuis http://www.classiccmp.org et Adventure Editor depuis http://trs80.barkingmadsoftware.com
    1
  3. gtrgib Messages postés 544 Statut Membre 9
     
    Merci bien mais ça ne fonctionne pas car c'est comme si les fichiers sont dans un endroit caché, le répertoire est http://trs-80.com/cgi-bin/newmangle1.pl?*.zip (le * est pour remplacer le nom de tous le fichiers .zip)

    Merci
    0
  4. gtrgib Messages postés 544 Statut Membre 9
     
    Merci mais est ce que je peux faire quelque chose avec ça pour réussir à télécharger tous ces fichier sans devoir cliquer sur chacun d'eux?

    Merci
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      0
      1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
         
        Désolé, je me suis trompé de message
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jisisv Messages postés 3678 Statut Modérateur 936
     
    Bon, j'ai enregistré la page de résultats sous mozilla:
    processsqlsearch.php.html
    La chaîne de commandes suivantes semble faire l'affaire:
    (j'ai limité mes chargements aux dix premiers liens (suprimmer head -10), et il faudrait améliorer l'expression régulière de egrep (autres types de liens de chargement)
    egrep -o '/cgi-bin/newmangle3.pl\?[^"]*"' processsqlsearch.php.html | tr -d '"' |sed -e 's/^/http:\/\/trs-80.com/' |head -10|wget --referer="http://trs-80.com/processsqlsearch.php" --input-file -
    


    explications pour wget
    Il faut ajouter le referrer car le serveur vérifie la provenance du lien
    --input-file : tous les liens sont lus depuis un fichier, ici l'entrée standard

    Mon output
    johand@horus:~/downloads/trs-80$ egrep -o '/cgi-bin/newmangle3.pl\?[^"]*"' processsqlsearch.php.html | tr -d '"' |sed -e 's/^/http:\/\/trs-80.com/' |head -2 |wget --referer="http://trs-80.com/processsqlsearch.php" --input-file -
    --07:14:34--  http://trs-80.com/cgi-bin/newmangle3.pl?pictur3d.zip
               => `newmangle3.pl?pictur3d.zip'
    Résolution de trs-80.com... 82.165.130.211
    Connexion vers trs-80.com|82.165.130.211|:80...connecté.
    requête HTTP transmise, en attente de la réponse...302 Found
    Emplacement: http://www.classiccmp.org/trs80/model3/pictur3d.zip [suivant]
    --07:14:35--  http://www.classiccmp.org/trs80/model3/pictur3d.zip
               => `pictur3d.zip'
    Résolution de www.classiccmp.org... 209.145.140.57
    Connexion vers www.classiccmp.org|209.145.140.57|:80...connecté.
    requête HTTP transmise, en attente de la réponse...200 OK
    Longueur: 1150 (1.1K) [application/zip]
    
    100%[=================================================================>] 1150          --.--K/s
    
    07:14:35 (22.38 MB/s) - « pictur3d.zip » sauvegardé [1150/1150]
    <cut/>
    johand@horus:~/downloads/trs-80$ file pictur3d.zip
    pictur3d.zip: Zip archive data, at least v2.0 to extract
    


    Bon amusement.
    0
  7. jisisv Messages postés 3678 Statut Modérateur 936
     
    Alors, tu as tes fichiers..?
    0
  8. gtrgib Messages postés 544 Statut Membre 9
     
    Désolé le décalage horaire avec toi qui est surement de l'Europe et moi du Canada fait qu'ici c'est le matin alors ma journé commence.

    J'ai essayé ta commande et ça ne fonctionne pas.
    Si je met dans mon répertoire ~/Desktop/trs-80/trs-80$, c'est quoi le "trs-80$", un répertoire ou un fichier ou autre... car si je le met comme répertoire j'ai le message que c'est un répertoire et si je le met comme un fichier .txt alors il affiche comme message "Permission non accordée" et ce même en root.

    Merci de m'éclairer.
    0
  9. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Bonsoir,

    la commande que jisisv t'as donné fonctionne trés bien. Dis ce que tu as fait comme manipulation pour la tester.
    Peut être tu as fait une erreur en tapant la commande?!

    Si tu veux tu peux essayé comme ça :

    1. mkdir trs_zip
    2. cd trs_zip
    3. dans trs_zip tu enregistres processsqlsearch.php.html

    4. tu crées un fichier zip_download.sh dans lequel tu écrit
    #! /bin/sh
    egrep -o '/cgi-bin/newmangle3.pl\?[^"]*"' processsqlsearch.php.html | tr -d '"'|sed -e 's/^/http:\/\/trs-80.com/' |head -10|wget --referer="http://trs-80.com/processsqlsearch.php" --input-file -
    

    Attention la commande egrep ...... est sur une seule ligne donc tu n'as qu'a faire copier coller dans le fichier
    5. sh zip_download.sh
    0
  10. gtrgib Messages postés 544 Statut Membre 9
     
    Bonsoir,

    Je vient d'essayer ce que tu indique et voici le résultat:

    Aucun URL repéré dans -.

    Quand tu "3. dans trs_zip tu enregistres processsqlsearch.php.html " tu veux dire que je fais un cliquer droit sout Firefox dans la page où sont les fichiers et que je choisi "Enregistrer sous" et que je lui donne le nom de "processsqulsearch.php.html", c'est bien ça?

    Merci
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Oui. En fait tu auras le fichier est un répertoire dans trs_zip. Et tu ne donnes aucun nom. Tu ne change pas son nom.

      Si tu n'arrives pas je te donne exactement les commandes que je tapes dans ma console.
      0
  11. gtrgib Messages postés 544 Statut Membre 9
     
    Ok, j'ai réglé le problème.

    Au lieu de faire un clique droit dans Firefox et d'optenir un fichier sans extension et un dossier, j'ai plutot été dans "Fichier/Enregistrer le cadre sous" et j'ai obtenu un fichier "processsqlsearch.php" et je lui est ajouté un .html. J'ai ensuite fait ton étape 5 et maintenant je télécharge les fichiers sans problème. J'ai changé aussi le nombre de téléchargement 10 pour 1280 puisqu'il affiche qu'il y a 1256 fichiers.

    Vraiment génial cette commande mais il faut vraiment être un prop pour élaborer une tel commande.

    Un grand merci à toi et jisisv, vous faites vraiement mon bonheur.
    0
  12. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Un grand merci à toi et jisisv, vous faites vraiement mon bonheur.

    Plutôt merci à jisisv. C'est lui qui à écrit la commande. Moi je t'ai seulement donné un petit coup de pouce pour l'utiliser.

    Bonne continuation et merci à jisisv.

    lami20j
    0
  13. gtrgib Messages postés 544 Statut Membre 9
     
    Ok, mais merci à toi quand même.

    J'aimerais continuer de la sorte sur le site trs-80.com.
    Si je vais toujour sur trs-80.com dans la section de gauche dans "Document/Manuals/Software Manuals/", qu'est ce que je dois changer dans le script pour que ça fonctionne comme pour l'autre téléchargement?

    J'ai réussi à faire la même chose pour le Model 1 en changant dans le script "newmangle3 par newmangle1" mais pour les autres je ne sais quoi changer.

    Merci
    0
  14. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    #! /bin/sh
    egrep -o '/cgi-bin/linkmesw.pl\?[^"]*"' processsqlsearch.php.html | tr -d '"'|sed -e 's/^/http:\/\/trs-80.com/' |head -10|wget --referer="http://trs-80.com/processsqlsearch.php" --input-file -
    0
  15. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    downemu.pl - emulator
    downorch.pl - ORCH...
    downadam.pl - Adventures/Scott Adams
    downcpm.pl - CP/M

    linkmebooks.pl - Books
    linkmhw.pl - manuals hardware

    etc...
    0
  16. gtrgib Messages postés 544 Statut Membre 9
     
    Merci bien à vous deux mais ça ne fonctionne pas car pour certains fichier dons les livres, il faut attendre 2 minutes entre chaque téléchargement et ça me donne comme message :

    --16:14:50-- http://trs-80.com/cgi-bin/linkmesw.pl?X.zip
    => `linkmesw.pl?X.zip'
    Résolution de trs-80.com... 82.165.130.211
    Connecting to trs-80.com|82.165.130.211|:80... connecté.
    requête HTTP transmise, en attente de la réponse...200 OK
    Longueur: non spécifié [text/html]
    linkmesw.pl?X.zip: Argument invalide

    Ne peut écrire dans « linkmesw.pl?X.zip » (Argument invalide).

    Je ne sais pas si c'est possible de déjouer ça.

    Merci encore.
    0
    1. jisisv Messages postés 3678 Statut Modérateur 936
       
      Ceci semble fonctionner, non?
      johand@horus:~/downloads/trs-80$ egrep -o '/cgi-bin/linkmesw.pl[^"]+"' processsqlsearch.php.html | tr -d '"' |sed -e 's/^/http:\/\/trs-80.com/' |head -2 http://trs-80.com/cgi-bin/linkmesw.pl?Advanced_Statistical_Analysis_(1979)(Tandy)(pdf).zip
      http://trs-80.com/cgi-bin/linkmesw.pl?Adventure_Editor_(19xx)(Bruce_Hansen)(pdf).zip
      
      johand@horus:~/downloads/trs-80$ egrep -o '/cgi-bin/linkmesw.pl[^"]+"' processsqlsearch.php.html | tr -d '"' |sed -e 's/^/http:\/\/trs-80.com/' |head -2 |wget --referer="http://trs-80.com/processsqlsearch.php" --input-file -
      --04:21:02--  http://trs-80.com/cgi-bin/linkmesw.pl?Advanced_Statistical_Analysis_(1979)(Tandy)(pdf).zip
                 => `linkmesw.pl?Advanced_Statistical_Analysis_(1979)(Tandy)(pdf).zip'
      Résolution de trs-80.com... 82.165.130.211
      Connexion vers trs-80.com|82.165.130.211|:80...connecté.
      requête HTTP transmise, en attente de la réponse...302 Found
      Emplacement: http://www.classiccmp.org/trs80/Software/C76D6_Advanced_Statistical_Analysis_(1979)(Tandy)(pdf).zip [suivant]
      --04:21:02--  http://www.classiccmp.org/trs80/Software/C76D6_Advanced_Statistical_Analysis_(1979)(Tandy)(pdf).zip
                 => `C76D6_Advanced_Statistical_Analysis_(1979)(Tandy)(pdf).zip'
      Résolution de www.classiccmp.org... 209.145.140.57
      Connexion vers www.classiccmp.org|209.145.140.57|:80...connecté.
      requête HTTP transmise, en attente de la réponse...200 OK
      Longueur: 15178996 (14M) [application/zip]
      
       1% [                                                                ] 172155         6.01K/s    ETA 40:15
      
      johand@horus:~/downloads/trs-80$ file C76D6_Advanced_Statistical_Analysis_\(1979\)\(Tandy\)\(pdf\).zip
      C76D6_Advanced_Statistical_Analysis_(1979)(Tandy)(pdf).zip: Zip archive data, at least v2.0 to extract
      
      

      Très lent à l'heure actuelle !!!
      0
  17. jisisv Messages postés 3678 Statut Modérateur 936
     
    Encore un détail:
    afin de rester poli et de ne pas surcharger les serveurs, tu peux utiliser une option -w dans wget
    -w seconds
           --wait=seconds
               Wait the specified number of seconds between the retrievals.  Use
               of this option is recommended, as it lightens the server load by
               making the requests less frequent.  Instead of in seconds, the time
               can be specified in minutes using the "m" suffix, in hours using
               "h" suffix, or in days using "d" suffix.
    
               Specifying a large value for this option is useful if the network
               or the destination host is down, so that Wget can wait long enough
               to reasonably expect the network error to be fixed before the
               retry.
    
    0
  18. gtrgib Messages postés 544 Statut Membre 9
     
    Parfait, merci bien jisisv pour ces précieuses commande.

    J'ai mis un délai de 120 seconde avec l'option -w comme tu mentionne et maintenant je peu faire autre chose pendant que le tout ce télécharge sans que j'ai à rester devant la page à attendre 2 minutes à chaque fois et ensuite cliquer sur le prochain fichier.

    Vraiment impressionnant ce que l'on peu faire sous Linux. Tu dois vraiment être avancé pour réussir à faire celà.

    Merci
    0
  19. gtrgib Messages postés 544 Statut Membre 9
     
    Encore une question,

    Présentement je télécharger les livres qui sont classé par ordre alphabétique. Si j'arrête le tout et que je veux recommencer à partir des livres qui commence par la lettre "M"(car le présent script commence le téléchartgement au début), quelle modif que je fais dans le script?

    Et si je veu télécharger les livres de la lettre "M" à la lettre "R" par exemple, comment je fais.

    Désolé mais c'est un peu compliqué pour moi ces scripts.

    Merci encore.
    0
  20. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Entre M et R ou m et r
    #! /bin/sh
    egrep -o '/cgi-bin/linkmesw.pl\?[M-Rm-r][^"]*"' processsqlsearch.php.html | tr -d '"'|sed -e 's/^/http:\/\/trs-80.com/' |wget --referer="http://trs-80.com/processsqlsearch.php" --input-file -


    Qui commence avec M
    #! /bin/sh
    egrep -o '/cgi-bin/linkmesw.pl\?M[^"]*"' processsqlsearch.php.html | tr -d '"'|sed -e 's/^/http:\/\/trs-80.com/' |wget --referer="http://trs-80.com/processsqlsearch.php" --input-file -
    0
  21. gtrgib Messages postés 544 Statut Membre 9
     
    Parfait, merci bien lami20j, ça fonctionne.

    C'est parce qu'en ce moment il ne fait pas très beau chez moi et il y a des endroit ou ils ont des panne de courant, alors si ça m'arrive je ne veux pas devoir tout recommencer car je dois mettre un délais 120 secondes entre chaque téléchargement car le site ne permet pas de dl avant ça alors depuis hier que je dl et j'en suis rendu seulement à la lettre "F". Mais au moins je ne suis pas obligé de rester devant l'écran à cliquer et à compter 2 minutes chaque fois.

    Encore un gros merci.
    0