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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

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

#1

Message par GhostLine »

Salut à tous !

Pour la fédération à laquelle j'appartiens (ça change :)), j'aurai besoin de créer un script qui parcourt régulièrement le site du journal officiel afin de savoir si une nouvelle association dans le domaine de la fédération a été créée. Si tel est le cas, j'aimerai pouvoir récupérer ses coordonnées afin de faire parvenir au bureau un courrier. Enfin, il me faudrait pouvoir archiver toutes ces adresses afin de nous permettre d'avoir une base de données des associations ...

Mon problème ? Je n'ai jamais manipulé les librairies ie.au3 ou ff.au3, et je n'ai même pas le début d'une idée de comment faire ce dont j'ai besoin. Donc si quelqu'un peut me donner un petit coup de main ,ca ne sera pas de refus :)

Merci d'avance !
Modifié en dernier par GhostLine le dim. 24 mars 2013 22:52, modifié 1 fois.
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

#2

Message par parazitenew »

Il est facile de manipuler IE.au3 en lisant la doc.

Pour récupérer une donnée de la page, il faut d'abord savoir où elle sera affichée, est-ce qu'il y a un espace reservé pour cette info?

Pour lire une info il faut avoir le code source que tu peux avoir avec la fonction:

Code : Tout sélectionner

InetGet ( "URL" [,"filename" [, options [, background]]] )
elle te permet d'enregistrer le code source sur un fichier texte, après tu peux récuperer une info grace aux fonction de l'UDF <String.au3> à la condition de savoir où l'info est placée, si entre 2 balises connues, tu cherches du texte entre ces 2 balises avec:

Code : Tout sélectionner

_StringBetween($s_String, $s_Start, $s_End [, $v_Case = -1])
Maintenant tout dépend de comment la page est codée, où l'info sera mise, il faut bien étudier le code source.

Edit: cette page n'a pas de flux RSS ?
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

#3

Message par GhostLine »

Merci pour ta réponse rapide !

Je détaille le déroulement :
1- on se connecte sur la page http://www.journal-officiel.gouv.fr/ass ... /index.php
2- on saisie un mot clef ("airsoft" , dans mon cas) dans le champs "Rechercher"
3- on valide (bouton "Rechercher")
4- une fois le chargement terminé, on capture le nom, l'adresse du siège social et la date de parution
5- une fois la page terminée, on passe à la page suivante et on recommence le 4-
6- on s'arrête lorsque l'on retombe sur une association déjà archivée

Je pense que c'est plus clair :) Par contre, et je viens de m'en rendre compte, IE refuse de fonctionner chez moi : je vais devoir me rabattre sur FF.
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

#4

Message par parazitenew »

Autoit ne possède pas d'UDF FF, y'a bien des personnes du forum anglais qui ont crée des UDF FF mais je ne saurai te dire si ils marchent bien.

Maintenant que je sais ce que tu veux, je vais me pencher sur la question, je vais voir leur code source, je te tiendrai au courant.
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

#5

Message par GhostLine »

C'est vraiment très sympa de ta part, merci bcp ! Je suis en train de regarder sur le forum américain de mon coté, et ... ca me brule les yeux :shock:
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

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

#6

Message par jchd »

Les contributions pour FF sont beaucoup moins abouties que ne l'est le support IE, qui est un composant standard de toute installation Windows indépendemment du fait qu'on emploie FF ou Chrome ou un autre navigateur.

Pourquoi dis-tu que l'UDF IE ne fonctionne pas pour toi ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
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

#7

Message par parazitenew »

J'ai ressortit un de mes vieux script que j'essaye de modifier:

Code : Tout sélectionner

[spoiler=]#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>

#include <WindowsConstants.au3>
#include <IE.au3>
#include <GuiEdit.au3>
#Include <Date.au3>
#include <Misc.au3>
#include <String.au3>
#include <WinAPI.au3>
#include <Constants.au3>





_IEErrorHandlerRegister ()

$oIE = _IECreateEmbedded ()



$GUI = GUICreate("", 640, 600)
GUISetBkColor(0x1e1e1e)


;======================================

GUICtrlCreateLabel("Mots Clés",15,120,70,25)
GUICtrlSetFont(-1,12)
GUICtrlSetColor(-1,0xFFFFFF)
GUIctrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)

$nbr_label = GUICtrlCreateLabel("",300,120)
GUICtrlSetColor(-1,0xFFFFFF)
$nbp_label = GUICtrlCreateLabel("",300,150)
GUICtrlSetColor(-1,0xFFFFFF)
;======================================

;======================================
;IE
$GUIActiveX = GUICtrlCreateObj($oIE, 0, 240, 640, 360)
;Inputs
GUICtrlCreateGroup("",5,100,200,120)
$input1 = GUICtrlCreateInput("",90,120,100,20)

$bt = GUICtrlCreateButton("Chercher", 15, 150, 175, 30,$BS_DEFPUSHBUTTON)

$bar = GUICtrlCreateProgress(10,197,180,15)



;==============================================================================================================;

GUISetState(@SW_SHOW)






While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            Exit
        Case $msg = $bt

            env()



    EndSelect
WEnd



Func env()


            _IENavigate ($oIE, "http://www.journal-officiel.gouv.fr/association/index.php")




            $Input_Id  = _IEGetObjById($oIE, "WHAT")
            _IEFormElementSetValue($Input_Id, GUICtrlRead($input1))

            $submit_Id  = _IEGetObjById($oIE, "rechercher")
            _IEAction($submit_Id, "Click")


            sleep(5000)

            InetGet("http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=airsoft&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID=&JTY_WALDEC=&JTY_SIREN=&JPA_D_D=&JPA_D_F=&rechercher.x=0&rechercher.y=0",@DesktopDir & "\code_gov.txt",1)
            $string = FileRead(@DesktopDir & "\code_gov.txt")

            $nbr = _StringBetween($string,"sultat de la recherche :", "annonce(s)")
            $nbp = _StringBetween($string,"Page 1 /", "<span")

            GUICtrlSetData($nbr_label,$nbr)
            GUICtrlSetData($nbp_label,$nbp)




EndFunc[/spoiler]
Il fait la recherche dans un navigateur intègré, mais il veut pas me lire ce que je veux :x je continue d'y travailler.
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

#8

Message par mikell »

Alors
Si ... Inetget fonctionne chez toi,
Si ... l'adresse utilisée est correcte partout,
ce type de script devrait le faire
► Afficher le texte
Si c'est ok, l'étape suivante c'est une bdd sqlite des associations pour noter création, modification (d'adresse...), dissolution
" 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écupération de datas sur le web

#9

Message par parazitenew »

Toujours du Sqlite :lol:
Moi j'aurai dit un ini combiné avec une listview.
L'adresse n'est pas toujours correcte, car elle porte les mots clés. C'est pourça que j'ai remplacé le inetget par _IEDocReadHTML ($oIE)
Sinon je sais où je me suis planté, le _stringbetween() retourne un array.

Voilà où ça en est:

Caduc

Reste plus qu'à créer une boucle qui va de 1 jusqu'au nombre de pages, qui lit les noms des assoc et autres données.

Edit:
► Afficher le texte
Il lit les que les noms des assoc de la 1ère page, pour le moment. Je continue d'y travailler.
En fait y'a pas de coordonées des assoc sur la page, de quelles infos t'as besoin exactement ?

Edit2:
► Afficher le texte
Lit les noms d'assoc, leurs n° d'annonce, n° de parution, région, id RNA, date de parution. Les stock dans un ini, avec le bouton "lire" tu peux afficher ces infos sur une listview.

Pour les autres pages, j'y travaille.
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

#10

Message par GhostLine »

Merci à tous pour votre aide !

J'aime bien l'idée de Mikell (simpler is better), et le seul truc qui me manque, du coup, c'est l'adresse (qui apparait après la chaine "Siège social : " et se termine au à " Date de la déclaration"). Et les regexp ... bah un jour, j'apprendrais :p nan, je peux pas, vraiment :)
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

#11

Message par parazitenew »

C'est pas toutes les annonces qui ont marqué leur siège social, du coup je continue sur mon script ou pas ?
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

#12

Message par mikell »

Est-ce que mon script fonctionne ?
Si oui, le reste c'est du détail :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écupération de datas sur le web

#13

Message par GhostLine »

Si jamais il n'y a pas, la chaine "siège social" apparait quand même ? Je n'ai pas vu d'exemple (j'en ai lu quelques unes seulement).

Sinon, non, ne t'arrête pas ! ton script a la méga classe, et c'est très formateur pour moi ^^

mikell> ouip m'sieur ! tout fonctionne nickel :)
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

#14

Message par GhostLine »

parazitenew> En plus, c'est un script qui pourrait intéresser bcp de monde, ne serait ce que pour trouver simplement des associations correspondant à une activité donnée dans un département ! comme tu as pu voir, la façon dont le site est fait demande un peu de travail alors que c'est infiniment plus lisible dans ton interface ! Il ne manque plus qu'un champs "Code postal", la possibilité d'afficher une éventuelle URL en lien clickable si elle existe, ainsi qu'une export dans un fichier CSV ou XLS, et hasta la vista :)
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

#15

Message par parazitenew »

Le script de mikell fonctionne que pour le mot de recherche "airsoft", car dans le lien on retrouve les mots clés, il suffit juste de modifier le mot "airsoft" avec GUICtrlRead($input), ce qui veut dire qu'il faut tout de même un GUI :lol:

Pour ce qui est du siège, j'ai vu plusieurs annonces où ils n'en font pas mention.
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

#16

Message par mikell »

GhostLine a écrit :2- on saisie un mot clef ("airsoft" , dans mon cas)
:P
► Afficher le texte
On peut récupérer absolument toutes les infos nécessaires (en l'état le script n'en extrait qu'une partie) et après ben tu as ton array et ce n'est plus que de la gestion de données ^^
" 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écupération de datas sur le web

#17

Message par parazitenew »

:lol:

Bref voici le script quasi final, il crée des ini portant le nom du mot clé, le bouton lire ouvre un FileOpenDialog() maintenant, pour choisir le ini à lire.

Le script peut naviguer sur les pages.

Seul bémol => Si par malheur, une annonce ne contient pas une seule de ses infos, par exemple une annonce ne possède pas de'ID RNA, tout le script par en cacahuète. Du coup, une annonce qui possède pas cette info, sur l'Array elle va prendre celle de l'annoce qui la suit, les infos seront décalés par rapport aux noms d'assoc. Error sur l'array "Range exceeded" le script se ferme, rideau!

Code : Tout sélectionner

[spoiler=]#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <Array.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#include <GuiEdit.au3>
#Include <Date.au3>
#include <Misc.au3>
#include <String.au3>
#include <WinAPI.au3>
#include <Constants.au3>
#include <ListviewConstants.au3>
#include <GuiListView.au3>




_IEErrorHandlerRegister ()
$oIE = _IECreateEmbedded ()


$GUI = GUICreate("", 640, 600)
GUISetBkColor(0x1e1e1e)


;======================================
GUICtrlCreateGroup("",5,5,200,120)
GUICtrlCreateLabel("Mots Clés",15,20,70,25)
GUICtrlSetFont(-1,12)
GUICtrlSetColor(-1,0xFFFFFF)
GUIctrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)

$input1 = GUICtrlCreateInput("",90,20,100,20)

$bt = GUICtrlCreateButton("Chercher", 15, 50, 175, 30,$BS_DEFPUSHBUTTON)
$read = GUICtrlCreateButton("Lire", 15, 190, 50, 30)

$bar = GUICtrlCreateProgress(10,100,180,15)

$nbr_label = GUICtrlCreateLabel("",10,130,100,20)
GUICtrlSetColor(-1,0xFFFFFF)
$nbp_label = GUICtrlCreateLabel("",10,160,100,20)
GUICtrlSetColor(-1,0xFFFFFF)

$lv = _GUICtrlListView_Create($gui,"Association|N° annonce|Paru le|ID RNA|N° de parution|Région",220,10,410,200)
      _GUICtrlListView_SetColumnWidth($lv,0,200)



;======================================
;IE
$GUIActiveX = GUICtrlCreateObj($oIE, 0, 240, 640, 360)


GUISetState(@SW_SHOW)






While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            Exit
        Case $msg = $bt

            env()

        Case $msg = $read

            read()
    EndSelect
WEnd



Func env()
            ;Ouvre la page de recherche
            _IENavigate ($oIE, "http://www.journal-officiel.gouv.fr/association/index.php")

            ;Met sur la barre de recherche la valeur lu depuis l'input
            $Input_Id  = _IEGetObjById($oIE, "WHAT")
            _IEFormElementSetValue($Input_Id, GUICtrlRead($input1))

            ;Clique sur le bouton de recherche de la page web
            $submit_Id  = _IEGetObjById($oIE, "rechercher")
            _IEAction($submit_Id, "Click")

            ;Attend que la page se charge (10sec)
            sleep(10000)

            ;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>")

            ;Affiche le nombre de pages et de résultats sur le GUI
            GUICtrlSetData($nbr_label,$nbr[0] & " Annonce(s)")
            GUICtrlSetData($nbp_label,$nbp[0] & " Pages")

            ;Lit les infos à partir de la page web
            $assoc = _StringBetween($string,"<P>Association : <B>", "</B>")
            $num_annonce = _StringBetween($string,"<P>No d'annonce : <B>", "</B>")
            $pau = _StringBetween($string,"Paru le : <B>", "</B>")
            $id_RNA = _StringBetween($string,"<P>Identification R.N.A. : <B>", "</B>")
            $num_paru = _StringBetween($string,"No de parution : <B>", "</B>")
            $region = _StringBetween($string,"Département (Région) : <B>", "</B>")

            ;25 résultats par page
            for $i = 1 to 25

                IniWrite(@ScriptDir & "\"& GUICtrlRead($input1),$assoc[$i-1],"num_annoce",$num_annonce[$i-1])
                IniWrite(@ScriptDir & "\"& GUICtrlRead($input1),$assoc[$i-1],"paru",$pau[$i-1])
                IniWrite(@ScriptDir & "\"& GUICtrlRead($input1),$assoc[$i-1],"id_RNA",$id_RNA[$i-1])
                IniWrite(@ScriptDir & "\"& GUICtrlRead($input1),$assoc[$i-1],"num_paru",$num_paru[$i-1])
                IniWrite(@ScriptDir & "\"& GUICtrlRead($input1),$assoc[$i-1],"region",$region[$i-1])

            Next

            ;Navigue dans les pages
            For $i= 2 to $nbp[0]
                _IENavigate ($oIE, "http://www.journal-officiel.gouv.fr/association/index.php?ctx=eJyLz2FIK2KIL8tjSCwuzk9miC9kSMwsKs5PK1FIzi8qyC9KLEnVLylKTbVSCskvUGKIz8gscSvNyWEwMmUAAG3jE!U_&page="&$i&"&WHAT="&guictrlread($input1)&'"')

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

                ;Lit les infos à partir de la page web
                $assoc = _StringBetween($string,"<P>Association : <B>", "</B>")
                $num_annonce = _StringBetween($string,"<P>No d'annonce : <B>", "</B>")
                $pau = _StringBetween($string,"Paru le : <B>", "</B>")
                $id_RNA = _StringBetween($string,"<P>Identification R.N.A. : <B>", "</B>")
                $num_paru = _StringBetween($string,"No de parution : <B>", "</B>")
                $region = _StringBetween($string,"Département (Région) : <B>", "</B>")

                ;25 résultats par page
                for $i = 1 to 25

                    IniWrite(@ScriptDir & "\" & GUICtrlRead($input1),$assoc[$i-1],"num_annoce",$num_annonce[$i-1])
                    IniWrite(@ScriptDir & "\" & GUICtrlRead($input1),$assoc[$i-1],"paru",$pau[$i-1])
                    IniWrite(@ScriptDir & "\" & GUICtrlRead($input1),$assoc[$i-1],"id_RNA",$id_RNA[$i-1])
                    IniWrite(@ScriptDir & "\" & GUICtrlRead($input1),$assoc[$i-1],"num_paru",$num_paru[$i-1])
                    IniWrite(@ScriptDir & "\" & GUICtrlRead($input1),$assoc[$i-1],"region",$region[$i-1])

                Next
            Next
EndFunc

Func read()

    $file = FileOpenDialog("Ouvrir une BD",@ScriptDir, "All (*.*)")

    If Not @error Then

        $nb_assoc = IniReadSectionNames($file)

        For $i = 1 to $nb_assoc[0]

            _GUICtrlListView_AddItem($lv,$nb_assoc[$i])
            _GUICtrlListView_AddSubItem($lv,$i-1,iniread($file,$nb_assoc[$i],"num_annoce",""),1)
            _GUICtrlListView_AddSubItem($lv,$i-1,iniread($file,$nb_assoc[$i],"paru",""),2)
            _GUICtrlListView_AddSubItem($lv,$i-1,iniread($file,$nb_assoc[$i],"id_RNA",""),3)
            _GUICtrlListView_AddSubItem($lv,$i-1,iniread($file,$nb_assoc[$i],"num_paru",""),4)
            _GUICtrlListView_AddSubItem($lv,$i-1,iniread($file,$nb_assoc[$i],"region",""),5)

        Next
    EndIf
EndFunc
[/spoiler]
Une idée mikell ? En même temps c'est la faute du _stringbetween() je travaille avec son array.
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

#18

Message par mikell »

C'est l'intérêt de passer par du regex, ça te découpe la page en tronçons qui représentent les blocs annonces et qui sont gérés séparément
Du coup tu peux avoir une erreur de regex (s'il ne trouve pas l'info précise recherchée) qui serait d'ailleurs facile à gérer mais pas de décalage d'infos
La gui et tout ça on s'en fout, l'important c'est le moteur et pour ça tu trouveras pas mieux que le regex pour faire du travail propre
► Afficher le texte
Ce script relève les annonces sur les 4 premières pages, aucune erreur ^^
parazitenew, faut te mettre au regex ! :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

#19

Message par GhostLine »

Une petite dernière : tu aurais moyen de le faire boucler tout seul jusqu'à la dernière page ?

Note pour plus tard : se mettre aux regexp :)
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

#20

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]

ps: j'ai toujours fuit le regex
Répondre