Télécharger plusieurs fichier à la fois

gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   -  
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

20 réponses

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

wget -r -np -k 'http://trs-80.com'
Voir man wget pour les détails.
1
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   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
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
Désolé, je me suis trompé de message
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
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
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Alors, tu as tes fichiers..?
0
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
#! /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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
downemu.pl - emulator
downorch.pl - ORCH...
downadam.pl - Adventures/Scott Adams
downcpm.pl - CP/M

linkmebooks.pl - Books
linkmhw.pl - manuals hardware


etc...
0
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   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
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
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
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
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
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   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
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
gtrgib Messages postés 536 Date d'inscription   Statut Membre Dernière intervention   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