OVH Cloud OVH Cloud

Inet + WebBrowser

2 réponses
Avatar
Nicolas
Bonjour,

Sur mon form j'ai 3 controls : Inet, WebBrowser et TextBox

Pour le moment j'arrive bien =E0 afficher une page web dans=20
dans mon controle WebBrowser.

Mon projet est de rapatrier toutes les fiches films du=20
site allocine (pour ne pas leur faire de la pub)

Je fais donc une boucle sur i de 1 =E0 60000
En je r=E9cup=E8re la page :

http://www.allocine.fr/film/fichefilm_gen_cfilm=3D" & i=20
& ".html"

J'extrait ensuite les informations du code html avec
WebBrowser1.Document.documentElement.innerHTML

Mais voila : comment faire comprendre =E0 programme que la=20
page est totalement charg=E9e pour qu'il puisse passer =E0 la=20
suivante ?

J'ai bien essay=E9 avec WebBrowser1_DocumentComplete mais=20
les pages se chargent plusieurs fois d'affil=E9e.

J'attend les conseils =E9clair=E9s des connaisseurs.

Merci d'avance et joyeux noel =E0 tous.

Nicolas

2 réponses

Avatar
François Picalausa
"Nicolas" a écrit dans le message de
news:079d01c3c9fa$902ef7b0$
Bonjour,

Sur mon form j'ai 3 controls : Inet, WebBrowser et TextBox

Pour le moment j'arrive bien à afficher une page web dans
dans mon controle WebBrowser.

Mon projet est de rapatrier toutes les fiches films du
site allocine (pour ne pas leur faire de la pub)

Je fais donc une boucle sur i de 1 à 60000
En je récupère la page :

http://www.allocine.fr/film/fichefilm_gen_cfilm=" & i
& ".html"

J'extrait ensuite les informations du code html avec
WebBrowser1.Document.documentElement.innerHTML

Mais voila : comment faire comprendre à programme que la
page est totalement chargée pour qu'il puisse passer à la
suivante ?

J'ai bien essayé avec WebBrowser1_DocumentComplete mais
les pages se chargent plusieurs fois d'affilée.



Bonjour/soir,

Pour charge les pages, ça devrait donner à peu près ceci (non testé):

Private ComptePage As Long
Private Const MAX_PAGE = 60000

Private Sub Form_Load()
GetNextPage
End Sub

Private Sub GetNextPage()
If ComptePage <= MAX_PAGE Then

WebBrowser1.Navigate("http://www.allocine.fr/film/fichefilm_gen_cfilm=" &
ComptePage)
ComptePage = ComptePage + 1
End If
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As
Variant)
If lcase$(URL)= "http://www.allocine.fr/film/fichefilm_gen_cfilm=" &
(ComptePage-1) Then
'Récupération des informations
'Stoquage éventuel dans une bdd
GetNextPage
End If
End Sub

Par contre, je sais pas s'il vont être content des 60000 requêtes..
Peut-être devrais-tu te renseigner s'ils n'ont pas un fichier xml accessible
permettant de récupérer toutes les données en une requête?

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Avatar
Nicolas
Yes, c'est exactement ça !

Ca marche c'est parfait, merci François, t'as toujours une
solution !!!


Merci encore

Nicolas