Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2751 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  [ script shell ] petit coup de pouce?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ script shell ] petit coup de pouce?

n°651752
Aschrack
Vive Pen²
Posté le 18-03-2005 à 18:00:17  profilanswer
 

ce que je cherche à faire :
télécharger par "groupe" comme dans flashget ou nettransport mais avec plusieurs boucles imbriquées
donc par exemple, télécharger
tous les
http://www.gpf-comics.com/comics/gpf20050301.jpg
on voit que le nom de l'image est fait de la date, donc pouvoir, sans le faire une par une, télécharger toutes les images (ici pour gpf, en réalité, ils s'amusent à mettre des noms chiants
http://www.gpf-comics.com/comics/gpf20050301dP5sG.jpg avec ce qui suit la date qui est variable et non prévisible mais bon, ce n'était qu'un exemple)
 
donc faire
 

Code :
  1. for (int i = 2000 ; i < 2006 ; i++)
  2. for (int j = 1 ; i < 13 ; i++)
  3. for (int k = 1 ; k < 32 ; k++)
  4. wget http://www.gpf-comics.com/comics/gpf(i)(j)(k).jpg


 
avec, en plus, le fait que "j" doit tenir sur deux caractères ainsi que k (donc il faut "01" et non "1" )
 
une idée?
pcq là jmate dans mon bouquin et online, et le for passe en revue des listes de valeurs, mais y'a ptet plus joli que de mettre les 31 valeurs pour k, 12 pour j etc...
surtout que j'aimerai quelque chose qui fonctionne même si maintenant jveux faire varier de 0 à 1000000 et là ce serait bien lourd d'avoir à indiquer toutes les valeurs une par une

mood
Publicité
Posté le 18-03-2005 à 18:00:17  profilanswer
 

n°651755
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 18-03-2005 à 18:04:13  profilanswer
 

tu as l'autorisation du proprio du site ?  
si non va leecher ailleurs ?


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°651756
arghbis
salops de dauphins
Posté le 18-03-2005 à 18:05:00  profilanswer
 

wget http//machinchose/*.jpg, ça marche

n°651757
ory
Posté le 18-03-2005 à 18:05:09  profilanswer
 

le webmaster va apprécier que tu bouffe toute la bp juste pour un caprice.
 
La bande passante, c'est pas gratuit.

n°651758
arghbis
salops de dauphins
Posté le 18-03-2005 à 18:06:03  profilanswer
 

c pas pire que d'aspirer un site pour avoir offline le site hein...

n°651759
Zaib3k
Posté le 18-03-2005 à 18:06:51  profilanswer
 

man seq pour utiliser le for facilement. mais je doute que tu ais le droit de gruiker le site comme. :o


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°651763
Nelyot Tch​agui
Posté le 18-03-2005 à 18:07:54  profilanswer
 

un aspirateur c'est pas plus simple?

n°651764
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 18-03-2005 à 18:08:04  profilanswer
 

de toute façon son truc marchera pas :D


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°651765
arghbis
salops de dauphins
Posté le 18-03-2005 à 18:08:41  profilanswer
 

black_lord a écrit :

de toute façon son truc marchera pas :D


 
le wget?
 
bah, je fais comme ça sur le mien pour récup des trucs des fois

n°651766
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 18-03-2005 à 18:10:26  profilanswer
 

regarde les noms des images ;)


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
mood
Publicité
Posté le 18-03-2005 à 18:10:26  profilanswer
 

n°651772
arghbis
salops de dauphins
Posté le 18-03-2005 à 18:20:15  profilanswer
 

ben koi, *.jpg ça roule, s'tout
 
ou alors y'a une subtilité que je vois pas?

n°651776
ory
Posté le 18-03-2005 à 18:23:19  profilanswer
 

arghbis a écrit :

ben koi, *.jpg ça roule, s'tout
 
ou alors y'a une subtilité que je vois pas?


 
 :heink:
 
wget http://intairnet/*.avi aussi non ?


Message édité par ory le 18-03-2005 à 18:23:39
n°651779
arghbis
salops de dauphins
Posté le 18-03-2005 à 18:29:08  profilanswer
 

ah oui beh non en fait, je croyais que je faisais comme ac, mais non... boulet attitude inside ;)

n°651784
Aschrack
Vive Pen²
Posté le 18-03-2005 à 18:47:49  profilanswer
 

black_lord a écrit :

tu as l'autorisation du proprio du site ?  
si non va leecher ailleurs ?

??? skoi le rapport? les gpf on peut les télécharger à la main, et c'est ce que je fais avec tous les webcomics que je lis (ça évite de devoir les retélécharger (pompant de la bande passante serveur ainsi que la mienne) et ça permet de les sauvegarder pour pouvoir les relire même si le mec aurait plus de tune pour le serveur ou autre (exemple avec Life Of Riley, ben y'a eu un mor dans le clan et pendant 1 an le site était down etc...))
mais bon, ça prend énormément de temps de les télécharger en même temps que je les lis
alors que si je les down tranquillement pour les matter avec acdsee c'est kan même plus confortable
 
jvois pas en quoi je leecherai en voulant simplement automatiser la tache que pour l'instant je fais à la main (jlai déja fait à la main pour les pvp, uf & all, mais bon, c vraiment chiant à faire pis c tellement monotone que j'en oublie etc...)

n°651785
Aschrack
Vive Pen²
Posté le 18-03-2005 à 18:50:26  profilanswer
 

ory a écrit :

le webmaster va apprécier que tu bouffe toute la bp juste pour un caprice.
 
La bande passante, c'est pas gratuit.

ben spour ça qu'en général lorsque je fais ça sous flashget je réduis le nombre de téléchargement simultané à 1 et la bande passante à du 1ko/sec
comme ça jlaisse le truc tourner pendant quelques heures sans faire chier personne
 
fin, bizarrement ça à l'air mal prit ce que je fais (alors que bon, ça me permet de les lire kan j'ai pas le net etc... vu qu'ensuite jpeux les graver sur cd, les passer à des potes sans le net & all)

n°651787
Aschrack
Vive Pen²
Posté le 18-03-2005 à 18:51:40  profilanswer
 

Nelyot Tchagui a écrit :

un aspirateur c'est pas plus simple?

vi c clair, mais là je gaspillerai vraiment la bande passante pour le serveur et moi même, vu que je pomperai plein de pages inutiles

n°651788
ory
Posté le 18-03-2005 à 18:52:45  profilanswer
 

Aschrack a écrit :

ben spour ça qu'en général lorsque je fais ça sous flashget je réduis le nombre de téléchargement simultané à 1 et la bande passante à du 1ko/sec
comme ça jlaisse le truc tourner pendant quelques heures sans faire chier personne
 
fin, bizarrement ça à l'air mal prit ce que je fais (alors que bon, ça me permet de les lire kan j'ai pas le net etc... vu qu'ensuite jpeux les graver sur cd, les passer à des potes sans le net & all)


 
Je me méfie, en général des personnes qui pompent un site intégralemet se contrefoutent du problème éthique et technique que cela peut occasionner, ce qui ne semble pas être ton cas.
 
Essaye curl, regarde dans le man, c'est un outil extremement puissant

n°651792
LoninoL
Posté le 18-03-2005 à 19:04:43  profilanswer
 

Une petite boucle avec wget sur toutes les dates du calendrier pour récupérer la page html du jour, un grep avec une petite expression régulière ou du perl sur la page récupéré pour en extraire le nom de l'image et un wget sur l'URL de l'image  ;)  
man bash, man wget et man grep :D

n°651796
AirbaT
Connection timed out
Posté le 18-03-2005 à 19:18:24  profilanswer
 

httrack :o
 
je teste webhttrack, c'est pas mal.

n°651797
jjgan
...
Posté le 18-03-2005 à 19:22:36  profilanswer
 

drapo


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
n°652159
Aschrack
Vive Pen²
Posté le 19-03-2005 à 19:28:11  profilanswer
 

LoninoL a écrit :

Une petite boucle avec wget sur toutes les dates du calendrier pour récupérer la page html du jour

ben en fait ct ça ma question :D gpf n'était qu'un exemple mal choisi (vu que juste choper les pages ça ne marche pas, mais effectivement jcomptais mater ensuite le content, y choper l'url de l'image etc...)
mais voila, j'ai pas encore capté comment faire
 
ceci
 
for (int i = 2000 ; i < 2006 ; i++)
for (int j = 1 ; i < 13 ; i++)
for (int k = 1 ; k < 32 ; k++)
wget http://www.gpf-comics.com/comics/gpf(i)(j)(k).jpg
 
avec en plus le fait que ce ne serait pas des entiers mais plutôt ptet des vecteurs de short unsigned int, chaque composante du vecteur étant un des chiffres (histoire de pouvoir avoir des zéros devant le 1)
 
(c'est là que finalement jme dis que je pouvais faire un pti prog qui fait ça, pis finirai par un exec de wget avec ce qu'il faut ... mais bon, c'est un peu le bazooka pour tuer un moustique j'ai l'impresison)

n°652163
Aschrack
Vive Pen²
Posté le 19-03-2005 à 19:32:43  profilanswer
 

la grosse question étant que lorsque je regarde le for, il semble qu'il faille faire
for var1 in "liste de valeur"
et bon, jvais pas indiquer 1 2 3 4 5 6 7 8 9 10 ...
si jdois aller jusque 10k
et ça ne résoud pas le problème si je souhaite avoir
001 002 003 004 ... et non 1 2 3 4

n°652164
Zaib3k
Posté le 19-03-2005 à 19:33:24  profilanswer
 

Zaib3k a écrit :

man seq pour utiliser le for facilement.



---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°652183
Pillow
'cos the trees won't talk
Posté le 19-03-2005 à 19:48:07  profilanswer
 

Aschrack a écrit :


et ça ne résoud pas le problème si je souhaite avoir
001 002 003 004 ... et non 1 2 3 4

Au pire tu fais quelque chose de ce genre:

Code :
  1. function deu
  2. {
  3.     if [ $1 -lt 10 ]
  4.         then ret="0$1"
  5.         else ret="$1"
  6.     fi
  7. }


et ensuite:

Code :
  1. foo=5
  2. deu $foo
  3. echo $ret

Mais il y a peut être mieux [:spamafote]  
 

n°652281
jjgan
...
Posté le 20-03-2005 à 02:26:25  profilanswer
 

D'une part:
Man bash ==

for (( expr1 ; expr2 ; expr3 )) ; do list ; done
              First, the arithmetic expression expr1 is evaluated according to
              the  rules  described  below  under  ARITHMETIC EVALUATION.  The
              arithmetic expression expr2 is then evaluated  repeatedly  until
              it  evaluates  to zero.  Each time expr2 evaluates to a non-zero
              value, list is executed and the arithmetic expression  expr3  is
              evaluated.   If  any  expression is omitted, it behaves as if it
              evaluates to 1.  The return value is the exit status of the last
              command in list that is executed, or false if any of the expres-
              sions is invalid.


soit : for (( cpt; cpt <= MAX; cpt++ )) doit marcher.
 
D'autre par j'attaquerais le probleme dans un autre sens,
en effet le nom du fichier image est "codé"
donc je téléchargerais la page avec wget :

wget -O - -U Mozilla http://url


puis la page passerai dans grep pour trouver l'image :  

wget -O - -U Mozilla http://url | grep -o "http://site/rep/rep/*.\.jpg"


 
Bien sur c'est des idées à perfectionner... :)


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
n°655082
Aschrack
Vive Pen²
Posté le 26-03-2005 à 01:48:36  profilanswer
 

merchi merchi merchi bcp à tous
pour ceux que ça interresse, jviens de finir avec ce script (que jdois encore adapter pour qu'il soit plus paramétrable)

Code :
  1. #!/bin/bash
  2. function get_two_digit
  3. {
  4. if [ $1 -lt 10 ]
  5. then ret="0$1"
  6. else ret="$1"
  7. fi
  8. }
  9. for ((annee = "2000" ; annee<="2005"; annee++)) ; do
  10. for ((mois = "1" ; mois<="12"; mois++)) ; do
  11.  for ((jour = "1" ; jour<="31"; jour++)) ; do
  12.   get_two_digit $annee;
  13.   annee2="$ret";
  14.   get_two_digit $mois;
  15.   mois2="$ret";
  16.   get_two_digit $jour;
  17.   jour2="$ret";
  18.   echo $jour2
  19.   wget --convert-links --limit-rate=5k http://www.gpf-comics.com/d/&#034; [...] #034;.html
  20.   grep "\<IMG ALT=\"comic\" BORDER=0 SRC=\"http://www.gpf-comics.com/comics/gpf" ./"$annee2""$mois2""$jour2".html > ./gpf.txt;
  21.   wget -i ./gpf.txt --force-html -c -N --proxy=OFF --limit-rate=5k --tries=5 --timeout=10 --non-verbose --append-output=./log.txt
  22.   rm ./"$annee2""$mois2""$jour2".html
  23.  done
  24. done
  25. done


 
j'ai voulu pouvoir insérer un temps d'attente entre chaque téléchargement, mais l'option wait de wget ne semble pas servir à ça
donc jvais plutôt chercher du côté de bash
 
Commentaire pour ceux qui veulent
 
- le convert-links permet d'obtenir un lien absolu
- je peux pas directement balancer tout ça dans un pipe pour grep il semble pcq convert-links veut un fichier sur dur
- --force-html ben c'est pcq le grep va choper toute la ligne où se trouve le nom du fichier, et pas seulement l'url. Mais si on interprete la sortie de grep en html ben c'est tout bon


Message édité par Aschrack le 26-03-2005 à 02:07:20
n°655114
ory
Posté le 26-03-2005 à 10:12:36  profilanswer
 

Aschrack a écrit :


j'ai voulu pouvoir insérer un temps d'attente entre chaque téléchargement, mais l'option wait de wget ne semble pas servir à ça
donc jvais plutôt chercher du côté de bash


 
bash propose sleep  :)  

n°684567
stardrawer
Jaronaute
Posté le 28-05-2005 à 14:19:34  profilanswer
 

salut moi je voudrais telecharger des fichiers rar en "partie" sur ce site http://*****
 
donc je fais la commande wget -c ****
mais ça ne marche pas, donc quelle commande je dois mettre ???
 
merci navou
 
edit :
on va éviter hein...


Message édité par stardrawer le 28-05-2005 à 17:21:16
n°684570
LoninoL
Posté le 28-05-2005 à 14:34:46  profilanswer
 

stardrawer a écrit :

salut moi je voudrais telecharger des fichiers rar en "partie" sur ce site http://******
 
donc je fais la commande wget -c http://*******
mais ça ne marche pas, donc quelle commande je dois mettre ???
 
merci navou


 
Chez moi ca marche  :??:


Message édité par LoninoL le 28-05-2005 à 17:21:44
n°684571
Zaib3k
Posté le 28-05-2005 à 14:36:39  profilanswer
 

tenjou tenge c'est top :D


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°684577
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 28-05-2005 à 14:45:28  profilanswer
 

marre des leechers [:benou]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°684623
mikala
Souviens toi du 5 Novembre...
Posté le 28-05-2005 à 17:22:43  profilanswer
 

Zaib3k a écrit :

tenjou tenge c'est top :D


c'est bourrin , ceci dit ce n'est pas la section pour ce faire et le leechage c'est mal (tm).


---------------
Intermittent du GNU
mood
Publicité
Posté le   profilanswer
 


Aller à :
  FORUM HardWare.fr
  Linux et OS Alternatifs

  [ script shell ] petit coup de pouce?

 

Sujets relatifs
Faire bouger et cliquer la souris par un script ???Lancer un script sur le serveur depuis une page web
Petit probleme de config sshCommande shell
script bash qui planteScript nombre de lignes identiques dans un fichier
executer rsh dans un script bashSupprimer le shell d'un utilisateur
[bash] chown dans un scriptscript montage de base Oracle 9iR2
Plus de sujets relatifs à : [ script shell ] petit coup de pouce?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR