Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Selection à l'int d'une page Html

22 réponses
Avatar
Shewy du 80 !!
Bonjour à tous.

Comment faire pour sélectionner automatiquement une zone d'une page Html, en
VB ?

Une fois les infos affichés dans mon WebBrowser1:
(Exemple d'un résultat d'une recherche affiché dans le webbrowser)
http://www.gracenote.com/xm/pcd/genrock/6477328079aca3e3b55ce254a078059b.html

Comment faire pour récupérer les infos se traouvant dans la cellule :
td class="cddb_main_area" ?????????????????

C'est à dire la zone centrale, avec les noms des artistes.

Merci de votre aide à tous !
--

2 réponses

1 2 3
Avatar
Shewy du 80 !!
yep !
Nikel Chrome !! ça marche nikel, mais je ne vois pas ce que tu as changé
pourt que ça marche.

Le point flou est la fonction "entre" elle reçoi et renvoi des strings alors
que quand je passe par le debug pour lire le contenu des varaiables se sont
des integer ....
J'imagine que ce sont les positions des chaines recherchés et trouvés. mais
je ne vois pas comment tu parviens ensuite à découper ou à extraire les
portions intéressantes.




"ng" a écrit dans le message de
news:%
Voila, seule la fonction ParseGracenote() a été modifiée, elle contient


une
ligne supplémentaire et est désormais compatibles avec les 2 types de


pages
différentes.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Shewy du 80 !! <not> a écrit :

> Bonjour !
> Voilà ! j'ai tout bien compris. Je ne sais pas si je serai capable de
> le refaire seul, mais avec le temps ...
> J'ai encore qq points qui sont encore flou, mais je vais m'en sortir.
>
> Par contre je rencontre un problème sur certaines pages. Par exemple :
>



http://www.gracenote.com/xm/pcd/genrock/9bb18700a89ce9c450f0b9ba4fbd96ed.html
>
> En effet la disposition étant un peu différente, cela ne marche pas
> tres bien.
> Je vais voir pour trouver une parade en cas d'erreur.
>
>
> "Shewy du 80 !!" <not> a écrit dans le message de
> news:
>> Je suis dessus, je décortiq tout ça et consulte l'aide, pour les
>> fonctions que je ne connais pas (encore)
>>
>> ça me plais : mieux que ça : je suis ravi !! c commenté comme un
>> chef et écris dans les regles de l'arts.
>> Franchement c'est du boulot de chef ! je ne sais pas kel ets ton
>> job, mais sur ce coup je reste sans voix!
>>
>> Au vu de toutes les lignes, je te tiens au courant demain des
>> difficultés, car pour ce soir, je vais etre plongé dedans jusq tres
>> tard je pense !
>>
>>
>> "ng" a écrit dans le message de
>> news:%
>>> Salut,
>>>
>>> Content que ca te plaise ;)
>>>
>>> Si t'as un prob ou si tu ne comprends pas quelque chose, n'hésite
>>> pas ;)
>>>
>>> --
>>> Nicolas G.
>>> FAQ VB : http://faq.vb.free.fr
>>> API Guide : http://www.allapi.net
>>> Google Groups : http://groups.google.fr/
>>> MZ-Tools : http://www.mztools.com/
>>> http://apisvb.europe.webmatrixhosting.net/
>>>
>>> Shewy du 80 !! <not> a écrit :
>>>
>>>> La Vache !!!!!!
>>>> Je suis sans voix. C'est vraiment super. Je vais lire le projet
>>>> pas à pas et le comprendre.
>>>> T'aura de mes news demain en fait, car pour tout comprendre il va
>>>> me faloir un peu de temps !!
>>>>
>>>> "ng" a écrit dans le message de
>>>> news:%
>>>>> Voila l'exemple avec RTF et tout et tout :)
>>>>>
>>>>> --
>>>>> Nicolas G.
>>>>> FAQ VB : http://faq.vb.free.fr
>>>>> API Guide : http://www.allapi.net
>>>>> Google Groups : http://groups.google.fr/
>>>>> MZ-Tools : http://www.mztools.com/
>>>>> http://apisvb.europe.webmatrixhosting.net/
>>>>>
>>>>> ng a écrit :
>>>>>
>>>>>> Salut,
>>>>>>
>>>>>> Voila j'ai finis, désolé pour le retard ;)
>>>>>>
>>>>>> J'envoie le ZIP dans mon prochain message.
>>>>>>
>>>>>>
>>>>>>> Absolument les pages sont toutes sous le meme modele, mais avec
>>>>>>> des infos différentes selon les noms recherchés. C'est vraiment
>>>>>>> tres sympa à toi.
>>>>>>>
>>>>>>> Je débute en VB (enfin niveau Débutant confirmé quand meme !
>>>>>>> ;-) ) Alors que ce coup je sens que jevais apprendre pleins de
>>>>>>> choses !! c cool.
>>>>>>>
>>>>>>> Là je suis en train d'essayer de calibrer ProgressBar1 en
>>>>>>> fonction du chargement ... Un peu de mal avec les ProgressMax
>>>>>>> et Progress ..
>>>>>>>
>>>>>>> J'ai hatte d'étudier ce que tu vas me faire comme exemple.
>>>>>>>
>>>>>>> Merci Bcp !!
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> "ng" a écrit dans le message de
>>>>>>> news:
>>>>>>>> Salut,
>>>>>>>>
>>>>>>>> OK je te ferai ça ce soir dès que je rentrerai (vers 18H30).
>>>>>>>>
>>>>>>>> Sinon je suppose que tu ne t'interesses pas seulement à cette
>>>>>>>> page mais à un ensemble de page du même modèle avec des infos
>>>>>>>> différentes ?
>>>>>>>> C'est juste pour être sûr car ca change tout :)
>>>>>>>>
>>>>>>>> Je présenterai certainement cela sous la forme d'une fonction
>>>>>>>> retournant une chaine, un type utilisateur ou même pourquoi pas
>>>>>>>> utilisant des paramètres en ByRef ("pointeurs") pour le renvoi.
>>>>>>>>
>>>>>>>> J'ajouterai certainement une fonction de mise en forme pour le
>>>>>>>> RTB.
>>>>>>>>
>>>>>>>> Et il est évident que le code sera commenté sinon ca n'a pas
>>>>>>>> grand interêt ;) !
>>>>>>>>
>>>>>>>> --
>>>>>>>> Nicolas G.
>>>>>>>> FAQ VB : http://faq.vb.free.fr
>>>>>>>> API Guide : http://www.allapi.net
>>>>>>>> Google Groups : http://groups.google.fr/
>>>>>>>> MZ-Tools : http://www.mztools.com/
>>>>>>>> http://apisvb.europe.webmatrixhosting.net/
>>>>>>>>
>>>>>>>> Shewy du 80 !! <not> a écrit :
>>>>>>>>
>>>>>>>>> C'est tres gentil de ta pars. Je suis aussi en train de
>>>>>>>>> regarder un peu comment ça marche, mais je veux bien un
>>>>>>>>> exemple concret (si possible commenté pour que je comprenne
>>>>>>>>> et apprenne surtout !)
>>>>>>>>>
>>>>>>>>> Le truc c'est que je voudrai soit dans un RichTextBox, soit
>>>>>>>>> dans un fichier texte, le résultat de la recherche.
>>>>>>>>> Concernant la page :
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>



http://www.gracenote.com/xm/pcd/genrock/6477328079aca3e3b55ce254a078059b.html
>>>>>>>>> Je voudrai extraire :
>>>>>>>>
>>>>>
>>>
>>

----------------------------------------------------------------------








-
>>>>> - -
>>>>>>>> - --
>>>>>>>>> ------------------------------------
>>>>>>>>> Disc Info
>>>>>>>>> Peter Gabriel / Shaking The Tree
>>>>>>>>> Label: Virgin
>>>>>>>>> Year: 1990 Track Title
>>>>>>>>> 1. Solsbury Hill
>>>>>>>>> 2. I Don't Remember
>>>>>>>>> 3. Sledgehammer
>>>>>>>>> 4. Family Snapshot
>>>>>>>>> 5. Mercy Street
>>>>>>>>> 6. Shaking The Tree
>>>>>>>>> 7. Don't Give Up
>>>>>>>>> 8. San Jacinto
>>>>>>>>> 9. Here Comes The Flood
>>>>>>>>> 10. Red Rain
>>>>>>>>> 11. Games Without Frontiers
>>>>>>>>> 12. Shock The Monkey
>>>>>>>>> 13. I Have The Touch
>>>>>>>>> 14. Big Time
>>>>>>>>> 15. Zaar
>>>>>>>>> 16. Biko
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Le but final etant de pouvoir retraités ces informations afin
>>>>>>>>> de les inscrires soit dans une base de données Acces ou un
>>>>>>>>> tableau Excel ou encore dans un mail.... Les infos doivent
>>>>>>>>> pouvoir être traités quel que soit l'utilisation final.
>>>>>>>>> C'est pour ça que je pense à un RichTextBox en affichage
>>>>>>>>> (possiblité de coper/coller / Extraire etc..)
>>>>>>>>> et aussi à un fichier texte, facilement intégrable à n'importe
>>>>>>>>> quel appli.
>>>>>>>>>
>>>>>>>>> voilà ! .... merci en tout cas de ton aide ! c'est cool
>>>>>>>>>
>>>>>>>>> "ng" a écrit dans le message de
>>>>>>>>> news:
>>>>>>>>>> Salut,
>>>>>>>>>>
>>>>>>>>>> Cela consiste à télécharger la page directement afin de
>>>>>>>>>> mettre le contenu (code HTML) dans une variable (string). On
>>>>>>>>>> peut ensuite parser cette variable pour récupérer les infos
>>>>>>>>>> voulues, on utilise pour cela les fonctions string de VB
>>>>>>>>>> (Instr(), Replace(), Split(), Join(), Left$(), Right$(),
>>>>>>>>>> Mid$() etc etc...).
>>>>>>>>>>
>>>>>>>>>> Je peux te faire un exemple à l'occasion (avec l'API
>>>>>>>>>> URLDownloadToFile) si tu nous décris exactement ce que tu
>>>>>>>>>> veux faire.
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Nicolas G.
>>>>>>>>>> FAQ VB : http://faq.vb.free.fr
>>>>>>>>>> API Guide : http://www.allapi.net
>>>>>>>>>> Google Groups : http://groups.google.fr/
>>>>>>>>>> MZ-Tools : http://www.mztools.com/
>>>>>>>>>> http://apisvb.europe.webmatrixhosting.net/
>>>>>>>>>>
>>>>>>>>>> Shewy du 80 !! <not> a écrit :
>>>>>>>>>>
>>>>>>>>>>> Ben en fait, parceque je débute, et je ne sais pas du tout
>>>>>>>>>>> de quoi tu me parles ;-)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> "ng" a écrit dans le message de
>>>>>>>>>>> news:
>>>>>>>>>>>> Salut,
>>>>>>>>>>>>
>>>>>>>>>>>> Pourquoi ne pas faire du parsing en téléchargeant
>>>>>>>>>>>> directement la page plutot que d'utiliser un controle WW ?
>>>>>>>>>>>> (cf URLDownloadToFile, Sockets...)
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Nicolas G.
>>>>>>>>>>>> FAQ VB : http://faq.vb.free.fr
>>>>>>>>>>>> API Guide : http://www.allapi.net
>>>>>>>>>>>> Google Groups : http://groups.google.fr/
>>>>>>>>>>>> MZ-Tools : http://www.mztools.com/
>>>>>>>>>>>> http://apisvb.europe.webmatrixhosting.net/
>>>>>>>>>>>>
>>>>>>>>>>>> Shewy du 80 !! <not> a écrit :
>>>>>>>>>>>>
>>>>>>>>>>>>> Bonjour à tous.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Comment faire pour sélectionner automatiquement une zone
>>>>>>>>>>>>> d'une page Html, en VB ?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Une fois les infos affichés dans mon WebBrowser1:
>>>>>>>>>>>>> (Exemple d'un résultat d'une recherche affiché dans le
>>>>>>>>>>>>> webbrowser)
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>



http://www.gracenote.com/xm/pcd/genrock/6477328079aca3e3b55ce254a078059b.html
>>>>>>>>>>>>>
>>>>>>>>>>>>> Comment faire pour récupérer les infos se traouvant dans
>>>>>>>>>>>>> la cellule
>>>>>>>>>>>>>> td class="cddb_main_area" ?????????????????
>>>>>>>>>>>>>
>>>>>>>>>>>>> C'est à dire la zone centrale, avec les noms des artistes.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Merci de votre aide à tous !





Avatar
ng
Salut,

Nikel Chrome !! ça marche nikel, mais je ne vois pas ce que tu as
changé pourt que ça marche.



Ajout d'une ligne après le remplisssage de strOutAnnee, pour continuer sans
problème :
strContenu = Replace(strContenu, "<b style=color:#333333>Downloads
Available</b>", "<b style=color:#333333></b>", , , vbTextCompare)

Le point flou est la fonction "entre" elle reçoi et renvoi des
strings alors que quand je passe par le debug pour lire le contenu
des varaiables se sont des integer ....
J'imagine que ce sont les positions des chaines recherchés et
trouvés. mais je ne vois pas comment tu parviens ensuite à découper
ou à extraire les portions intéressantes.



Oui i (en long) contient des informations relatives à des positions de
caractères, voici la fonction commentée :

'//Renvoie le texte contenu entre deux autres textes
'//sCh est la chaine à examiner
'//sQuoi est la premiere "borne"/balise
'//sEtQuoi est la dernière
'//Donc Entre("<b>Salut</b>", "<b>", "</b>") renvoie Salut
'//par exemple. (Mais pour enlever les balises HTML on utilse
'//plutot la fonction DeHTMLise())
Public Function Entre(sCh As String, sQuoi As String, sEtQuoi As String) As
String
'//pour stocker des positions de caractère
Dim i As Long
'//place dans i la position de la première borne dans la chaine à examiner
i = InStr(1, sCh, sQuoi, vbTextCompare)
'//Si i>0 cela signifie que la première borne a été trouvée; alors on
continue
If i > 0 Then
'//Entre est ici la variable string renvoyée
'//elle contient alors tout le texte a partir de la première borne
'//sans pour autant contenir cette borne (à cause du +Len(sQuoi)
'//qui déplace la position après la borne)
'//Pour notre exemple, entre vaut alors "Salut</b>"
Entre = Mid$(sCh, i + Len(sQuoi))
'//On recherche la dernière borne
i = InStr(1, Entre, sEtQuoi, vbTextCompare)
'//si elle est contenu dans la chaine alors on coupe la
'//chaine juste avant cette borne (d'où le -1 car le instr() pointe
'//directement sur le premier caractère de la borne)
If (i - 1) > 0 Then Entre = Left$(Entre, i - 1)
End If
End Function

Voila j'espère que c'est plus clair (colle la fonction dans VB pour une
meilleure visibilité).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Shewy du 80 !! <not> a écrit :

yep !
Nikel Chrome !! ça marche nikel, mais je ne vois pas ce que tu as
changé pourt que ça marche.

Le point flou est la fonction "entre" elle reçoi et renvoi des
strings alors que quand je passe par le debug pour lire le contenu
des varaiables se sont des integer ....
J'imagine que ce sont les positions des chaines recherchés et
trouvés. mais je ne vois pas comment tu parviens ensuite à découper
ou à extraire les portions intéressantes.




"ng" a écrit dans le message de
news:%
Voila, seule la fonction ParseGracenote() a été modifiée, elle
contient une ligne supplémentaire et est désormais compatibles avec
les 2 types de pages différentes.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Shewy du 80 !! <not> a écrit :

Bonjour !
Voilà ! j'ai tout bien compris. Je ne sais pas si je serai capable
de le refaire seul, mais avec le temps ...
J'ai encore qq points qui sont encore flou, mais je vais m'en
sortir.

Par contre je rencontre un problème sur certaines pages. Par
exemple :









http://www.gracenote.com/xm/pcd/genrock/9bb18700a89ce9c450f0b9ba4fbd96ed.html

En effet la disposition étant un peu différente, cela ne marche pas
tres bien.
Je vais voir pour trouver une parade en cas d'erreur.


"Shewy du 80 !!" <not> a écrit dans le message de
news:
Je suis dessus, je décortiq tout ça et consulte l'aide, pour les
fonctions que je ne connais pas (encore)

ça me plais : mieux que ça : je suis ravi !! c commenté comme un
chef et écris dans les regles de l'arts.
Franchement c'est du boulot de chef ! je ne sais pas kel ets ton
job, mais sur ce coup je reste sans voix!

Au vu de toutes les lignes, je te tiens au courant demain des
difficultés, car pour ce soir, je vais etre plongé dedans jusq tres
tard je pense !


"ng" a écrit dans le message de
news:%
Salut,

Content que ca te plaise ;)

Si t'as un prob ou si tu ne comprends pas quelque chose, n'hésite
pas ;)

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Shewy du 80 !! <not> a écrit :

La Vache !!!!!!
Je suis sans voix. C'est vraiment super. Je vais lire le projet
pas à pas et le comprendre.
T'aura de mes news demain en fait, car pour tout comprendre il va
me faloir un peu de temps !!

"ng" a écrit dans le message de
news:%
Voila l'exemple avec RTF et tout et tout :)

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

ng a écrit :

Salut,

Voila j'ai finis, désolé pour le retard ;)

J'envoie le ZIP dans mon prochain message.


Absolument les pages sont toutes sous le meme modele, mais
avec des infos différentes selon les noms recherchés. C'est
vraiment tres sympa à toi.

Je débute en VB (enfin niveau Débutant confirmé quand meme !
;-) ) Alors que ce coup je sens que jevais apprendre pleins de
choses !! c cool.

Là je suis en train d'essayer de calibrer ProgressBar1 en
fonction du chargement ... Un peu de mal avec les ProgressMax
et Progress ..

J'ai hatte d'étudier ce que tu vas me faire comme exemple.

Merci Bcp !!



"ng" a écrit dans le message de
news:
Salut,

OK je te ferai ça ce soir dès que je rentrerai (vers 18H30).

Sinon je suppose que tu ne t'interesses pas seulement à cette
page mais à un ensemble de page du même modèle avec des infos
différentes ?
C'est juste pour être sûr car ca change tout :)

Je présenterai certainement cela sous la forme d'une fonction
retournant une chaine, un type utilisateur ou même pourquoi
pas utilisant des paramètres en ByRef ("pointeurs") pour le
renvoi.

J'ajouterai certainement une fonction de mise en forme pour
le RTB.

Et il est évident que le code sera commenté sinon ca n'a pas
grand interêt ;) !

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Shewy du 80 !! <not> a écrit :

C'est tres gentil de ta pars. Je suis aussi en train de
regarder un peu comment ça marche, mais je veux bien un
exemple concret (si possible commenté pour que je comprenne
et apprenne surtout !)

Le truc c'est que je voudrai soit dans un RichTextBox, soit
dans un fichier texte, le résultat de la recherche.
Concernant la page :

































http://www.gracenote.com/xm/pcd/genrock/6477328079aca3e3b55ce254a078059b.html
Je voudrai extraire :























---------------------------------------------------------------------












-
-
- -
- --
------------------------------------
Disc Info
Peter Gabriel / Shaking The Tree
Label: Virgin
Year: 1990 Track Title
1. Solsbury Hill
2. I Don't Remember
3. Sledgehammer
4. Family Snapshot
5. Mercy Street
6. Shaking The Tree
7. Don't Give Up
8. San Jacinto
9. Here Comes The Flood
10. Red Rain
11. Games Without Frontiers
12. Shock The Monkey
13. I Have The Touch
14. Big Time
15. Zaar
16. Biko


Le but final etant de pouvoir retraités ces informations
afin de les inscrires soit dans une base de données Acces
ou un tableau Excel ou encore dans un mail.... Les infos
doivent pouvoir être traités quel que soit l'utilisation
final.
C'est pour ça que je pense à un RichTextBox en affichage
(possiblité de coper/coller / Extraire etc..)
et aussi à un fichier texte, facilement intégrable à
n'importe quel appli.

voilà ! .... merci en tout cas de ton aide ! c'est cool

"ng" a écrit dans le message de
news:
Salut,

Cela consiste à télécharger la page directement afin de
mettre le contenu (code HTML) dans une variable (string).
On peut ensuite parser cette variable pour récupérer les
infos voulues, on utilise pour cela les fonctions string
de VB (Instr(), Replace(), Split(), Join(), Left$(),
Right$(), Mid$() etc etc...).

Je peux te faire un exemple à l'occasion (avec l'API
URLDownloadToFile) si tu nous décris exactement ce que tu
veux faire.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Shewy du 80 !! <not> a écrit :

Ben en fait, parceque je débute, et je ne sais pas du tout
de quoi tu me parles ;-)


"ng" a écrit dans le message de
news:
Salut,

Pourquoi ne pas faire du parsing en téléchargeant
directement la page plutot que d'utiliser un controle WW
? (cf URLDownloadToFile, Sockets...)

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Shewy du 80 !! <not> a écrit :

Bonjour à tous.

Comment faire pour sélectionner automatiquement une zone
d'une page Html, en VB ?

Une fois les infos affichés dans mon WebBrowser1:
(Exemple d'un résultat d'une recherche affiché dans le
webbrowser)













































http://www.gracenote.com/xm/pcd/genrock/6477328079aca3e3b55ce254a078059b.html

Comment faire pour récupérer les infos se traouvant dans
la cellule
td class="cddb_main_area" ?????????????????



C'est à dire la zone centrale, avec les noms des
artistes.

Merci de votre aide à tous !






























1 2 3