#1 Le 12/06/2010, à 20:14
- cracolinux
Récuperer certaines variables d'un site [semi-résolu]
Bonjour!
Je voudrais construire un script me permettant de connaitre les horaires de marée de Dieppe :
Ca se passe ici : http://maree.frbateaux.net/14
Un wget sur la page concernée me sauvegarde un lien en PHP où les informations que je recherche sont absentes.
Est-ce que quelqu'un a une idée ?
Dernière modification par cracolinux (Le 12/06/2010, à 22:24)
Hors ligne
#2 Le 12/06/2010, à 20:51
- Michel Leunen
Re : Récuperer certaines variables d'un site [semi-résolu]
En fait, si tu utilises wget, tu dois ajouter le header qui est envoyé normalement pas un browser. Le site se méfie des robots !
Mosifie ta commande comme ceci pour faire croire au site que c'est Mozilla firefox qui l'interroge:
wget --header='Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7' --header='User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9b5) Gecko/2008041514 Firefox/3.0b5' http://maree.frbateaux.net/14
Michel Leunen
http://linux.leunen.com
Hors ligne
#3 Le 12/06/2010, à 21:15
- cracolinux
Re : Récuperer certaines variables d'un site [semi-résolu]
Whaaahhh! merci!
Tu as trouvé ça où?
Ca marche aussi pour éviter l'erreur 403 ? (forbidden)
Bon, maintenant je dois isoler les informations et créer le script qui m'enregistrera les données chaque jour dans un petit fichier sur le bureau
Hors ligne
#4 Le 12/06/2010, à 21:26
- Michel Leunen
Re : Récuperer certaines variables d'un site [semi-résolu]
Tu as trouvé ça où?
Ca marche aussi pour éviter l'erreur 403 ? (forbidden)
C'est un problème classique. Les serveur teste les entêtes pour savoir s'ils ont affaire avec un robot ou un véritable browser avec quelqu'un derrière.
Pour l'erreur 403, je ne sais pas. C'est à essayer.
Bon, maintenant je dois isoler les informations et créer le script qui m'enregistrera les données chaque jour dans un petit fichier sur le bureau
Télécharger les données était la partie la plus simple. Le vrai problème commence maintenant
Content d'avoir pu t'aider.
Un petit résolu dans le titre ?
Michel Leunen
http://linux.leunen.com
Hors ligne
#5 Le 13/06/2010, à 18:54
- cracolinux
Re : Récuperer certaines variables d'un site [semi-résolu]
Salut!
Bon j'avance tout doucement en lisant des informations sur sed, grep ou encore cut.
Voilà où j'en suis:
1- Grâce à Michel, j'ai récupéré mon fichier sur les marées de Dieppe.;)
2- En étudiant le fichier (avec geany), je me rends compte que les données que je veux garder se situent lignes 367 et 369 (basse mer) et lignes 366 et 368 (haute mer)
3- Je conserve ces données avec :
cat -n [monfichier] | grep 367 > fichier_de_sortie
Exemple :
~$ cat -n 14 | grep 367
367 06h56<br>
Maintenant, je dois réussir à isoler le 06h56 qui est la donnée qui m'intéresse.
Mais:
->Je me retrouve avec 367 (le numéro de ligne que j'ai eu avec cat -n) et des espaces devant, puis encore des espaces, puis enfin 06h56
J'ai tenté :
sed 's/ / /g'
mais il ne me remplace pas mes doubles espaces comme je voudrais...
J'aimerais me retrouver avec 367[un espace]06h56[stop] pour pouvoir ensuite utiliser cut et isoler 06h56
Arfff!! c'est pas évident à expliquer!
J'espère que vous avez compris et que vous pourrez m'aider
Dernière modification par cracolinux (Le 13/06/2010, à 19:00)
Hors ligne
#6 Le 13/06/2010, à 19:55
- Michel Leunen
Re : Récuperer certaines variables d'un site [semi-résolu]
sed 's/ / /g'
Regarde du côté de awk. A mon avis, c'est l'outil que tu cherches.
Michel Leunen
http://linux.leunen.com
Hors ligne
#7 Le 13/06/2010, à 20:22
- AnsuzPeorth
Re : Récuperer certaines variables d'un site [semi-résolu]
Bjr,
Pour supprimer plusieurs espaces il faut utiliser *
Mais ici, c'est pas les espaces qui posent problème, maiq plutot un caractère html.
Vite fait, à l'arrache ...!
wget --header='Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7' --header='User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9b5) Gecko/2008041514 Firefox/3.0b5' http://maree.frbateaux.net/14 -O- | sed -n '366,369p' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed 's/ //;s/\(.....\).*/\1/'
00h44
07h44
13h11
20h04
EDIT: Au lieu de mettre les 2 headers:
-U ' '
suffit
Dernière modification par AnsuzPeorth (Le 13/06/2010, à 20:24)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#8 Le 13/06/2010, à 21:41
- cracolinux
Re : Récuperer certaines variables d'un site [semi-résolu]
Ohh!! alors toi!!
Merci de ton aide Ansuz, à chaque fois tu me blase (Vite fait, à l'arrache ...!)
Je vais étudier ça demain, c'est déjà trop tard pour moi ce soir...je me fais vieux
Hors ligne
#9 Le 13/06/2010, à 21:54
- AnsuzPeorth
Re : Récuperer certaines variables d'un site [semi-résolu]
Je vais étudier ça demain,
y a pas grand chose à étudier ...
sed -n '366,369p'
C'est clair je pense !
sed -e :a -e 's/<[^>]*>//g;/</N;//ba'
Enlêve les balises html (ca traine dans mes notes, ca vient de où ?)
sed 's/ //
Clair aussi !
s/\(.....\).*/\1/
Comme la dernière ligne il y a 2 horaires différentes récupérées dans le html, je prends que la première (5 premiers caractères)
Donc, c'est vraiment du vite fait à l'arrache
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne