[R] Récupération de datas sur le web

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

Re: [..] Récupération de datas sur le web

#21

Message par parazitenew »

Code : Tout sélectionner

;Nombre de pages
            ;Lit le code source de la page en cours
            $string = _IEDocReadHTML ($oIE)


            ;Nombre de résultats
            $nbr = _StringBetween($string,"<P><STRONG>Résultat de la recherche : ", " annonce(s) </STRONG>")

            ;Nombre de pages
            $nbp = _StringBetween($string,"<P class=pages>Page 1 /", "<SPAN class=numeros>")
Tu fais une boucle, le nombre de page est $nbp [0]
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Récupération de datas sur le web

#22

Message par mikell »

@parazitenew
Ya ~ un an je pensais comme toi, j'ai changé d'avis :mrgreen:

@GhostLine
C'est à moi que tu poses la question ?
Si oui, la réponse est oui, faut juste mettre 'For $page = 1 to 66' et placer un 'If @error' judicieux
J'imagine que c'est pour créer ta bdd initiale, alors dans ce cas la méthode la plus prudente serait de relever les pages progressivement par paquets de 10 (après tout c'est un relevé que tu ne devrais avoir à faire qu'une seule fois)
Ake sinon, ça va prendre *beaucoup* de temps et si tu as une malencontreuse petite erreur juste à la fin, tu vas grimper aux rideaux et te les mordre à belles dents :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [..] Récupération de datas sur le web

#23

Message par GhostLine »

mikell> vivi :) Mais il n'y a pas moyen de le récupérer quelque part dans le code comme le fait parazitenew ? En effet, à coté de la sélection des pages, on a bien une mention "Page 1 / ...", rien à en faire ? Je demande ca comme ca hein, tel quel, même sans le nombre de page, cela représente un tel gain de temps !
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [..] Récupération de datas sur le web

#24

Message par GhostLine »

Je réponds moi même à la question :)

Code : Tout sélectionner

 
$url = "http://www.journal-officiel.gouv.fr/association/index.php?ctx=eJyLz2FIK2KIL8tjSCwuzk9miC9kSMwsKs5PK1FIzi8qyC9KLEnVLylKTbVSCskvUGKIz8gscSvNyWEwMmUAAG3jE!U_&page=1&WHAT=airsoft"

$string = BinaryToString(InetRead($url),4)
$nbp = _StringBetween($string, "Page 1 / ", "                     ")
Encore merci à tous !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Récupération de datas sur le web

#25

Message par mikell »

Je le préfère en regex :mrgreen:
► Afficher le texte
Edit
Pour la durée, j'ai rien dit :shock:
J'ai essayé par curiosité et le script affiche les 1626 annonces en 1 mn 26 secondes ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [R] Récupération de datas sur le web

#26

Message par GhostLine »

Clur :) Il faut juste que je compile ce code avec l'interface (et le système de détection d'URL) de parazitenew, et j'aurai un magnifique outil de recherche d'associations (manquera juste un petit choix de sélection de code postal, rien de bien méchant) :)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Récupération de datas sur le web

#27

Message par mikell »

Correction de regex qui donnait qques erreurs d'adresse et de code postal
On reste à ~ 1 mn 20 s pour ratisser les 66 pages
► Afficher le texte
Hum ce script aurait été plus à sa place dans les demandes de script, en tout cas il pourrait honorablement figurer dans les exemples de script :mrgreen:
Si tu veux demander des explications sur les regex n'hésite pas :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [R] Récupération de datas sur le web

#28

Message par GhostLine »

Clur, je suis tout à fait d'accord :) Yapuka le passer dans cette partie du forum. Et pas de soucis pour les regex, je n'hésiterai pas à te solliciter.
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [R] Récupération de datas sur le web

#29

Message par GhostLine »

Petit problème, tout est au 16/03/2013 ou au 23/03/2013.

Edit : résolu ! J'ai voulu sortir la variable $url de la boucle, tout à bien fonctionné sauf la date ... une fois remise en place, ca woule :)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Récupération de datas sur le web

#30

Message par mikell »

GhostLine a écrit : j'aurai un magnifique outil de recherche d'associations
Attention, ce code est du 'sur mesure' et n'est valable que pour la recherche "airsoft"
Par exemple avec le mot-clé de recherche "natation" tu tombes sur cette page
http://www.journal-officiel.gouv.fr/ass ... T=natation
où la structure des annonces est parfois différente donc le script va retourner des erreurs
En faire un outil polyvalent serait possible mais demanderait *beaucoup* plus de travail :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

Re: [R] Récupération de datas sur le web

#31

Message par parazitenew »

Mon GUI était polyvalent, valable pour n'importe quel mot clé mais y'avait jsute le problème du _stringbetween()

En combinant la structure de mon prog avec le code de mikell il sera opérationnel à 100% :mrgreen:
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [R] Récupération de datas sur le web

#32

Message par GhostLine »

J'ai dû mal m'exprimer, j'essayai de dire ce que parazitenew vient d'écrire depuis quelques posts déjà :)
Répondre