Recuperation de code source d'une page web

thaclemclem Messages postés 10 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 13 mars 2012 - 26 oct. 2011 à 09:46
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 26 oct. 2011 à 14:04
Bonjour à tous,

Je me permets de solliciter le forum car après de nombreuses recherches, j'arrive enfin à telecharger le code source d'une page web à partir de vba... mais il ne correspond pas à mes attentes...:(

Mon problème est que ce code source est différent du code source que j'obtiens lorsque je l'affiche via internet explorer (clic droit, afficher la source).

Je pense que cette question dépasse un peu le cadre de VBA mais si quelqu'un pouvait m'éclairer sur cette différence de code source, cela me permettrait d'avancer à grand pas !!

Voici le bout de code que j'utilise
Sub Open_Webpage()
Dim ie As Object
Dim wwwAdd As String
Dim strSource As String
wwwAdd = "http://www.quantalys.com/fonds/56859/Synthese_FR0010753608_Mandarine_Reflex_R.aspx"
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate wwwAdd
Do While ie.busy
DoEvents
Loop
strSource = CStr(ie.Document.Body.innerhtml)
ie.Quit
Range("A2").Value = strSource
End Sub

Je vous remercie d'avance !!
Bonne journée !!
ThaClemClem

3 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
26 oct. 2011 à 10:34
Salut

Ton code fonctionne, sauf que le rafraichissement de la page ne semble pas avoir le temps de se faire malgré le ie.Busy.
Cher moi, les sources récupérées par ton programme et par l'affichage source de IE semble coïncider.
De quel type sont les différences que tu notes entre ces sources ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
thaclemclem Messages postés 10 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 13 mars 2012
26 oct. 2011 à 11:30
Bonjour Jack,
Merci pour votre retour.

Le code que je reçois par la macro débute par :


Celui-ci fait environ 10 pages sous word et est incompréhensible, avec de grandes chaines de caractères mélangeant chiffres et lettres sur de grands paragraphes

Alors que le code que j'obtiens par clic droit sur la page commence par :
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Celui-ci fait environ 215 pages sous word et est compréhensible bien que je n'ai aucune connaissance dans ce langage

Aussi, j'ai essayé de remplacer
strSource = CStr(ie.Document.Body.innerhtml) par
strSource = CStr(ie.Document.Body.innerxhtml) et par
strSource = CStr(ie.Document.Body.innerphtml)... sans résultat.

Je ne comprends pas d'où vient cette différence de code...
Lequel des deux codes obtenez-vous ?

Merci pour votre aide

ThaClemClem
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
26 oct. 2011 à 14:04
Oui, tu sembles récupérer une partie centrale de la source.
Peut-être une histoire de Frame.
A approfondir.
0