Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#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)


Pixup : postez vos images vite et bien
« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

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 smile


Pixup : postez vos images vite et bien
« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#4 Le 12/06/2010, à 21:26

Michel Leunen

Re : Récuperer certaines variables d'un site [semi-résolu]

cracolinux a écrit :

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.

cracolinux a écrit :

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 smile

Télécharger les données était la partie la plus simple. Le vrai problème commence maintenant wink
Content d'avoir pu t'aider. smile
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 big_smile

Dernière modification par cracolinux (Le 13/06/2010, à 19:00)


Pixup : postez vos images vite et bien
« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#6 Le 13/06/2010, à 19:55

Michel Leunen

Re : Récuperer certaines variables d'un site [semi-résolu]

cracolinux a écrit :
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.

&nbsp;

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/&nbsp;//;s/\(.....\).*/\1/'
00h44
07h44
13h11
20h04

EDIT: Au lieu de mettre les 2 headers:

-U ' '

suffit wink

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!! smile

Merci de ton aide Ansuz, à chaque fois tu me blase yikes (Vite fait, à l'arrache ...!)

Je vais étudier ça demain, c'est déjà trop tard pour moi ce soir...je me fais vieux tongue


Pixup : postez vos images vite et bien
« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#9 Le 13/06/2010, à 21:54

AnsuzPeorth

Re : Récuperer certaines variables d'un site [semi-résolu]

cracolinux a écrit :

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/&nbsp;//

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 wink


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

Haut de page ↑