OVH Cloud OVH Cloud

Lire un document html en vbscript

5 réponses
Avatar
Fred
Bonjour,
Est-il possible, en vbscript, d'accéder au modèle objet d'un document html ?
Je souhaite juste en examiner le contenu mais je ne veux pas le visualiser.
Un peu comme on peut le faire avec MSXML pour des fichiers xml.

J'ai essayé ceci :
Set oDoc=CreateObject("MSHTML.HTMLDocument")
J'obtiens l'erreur "un objet ActiveX n'a pu être créé".
Je suppose qu'il lui faut un hôte pour que des propriétés telles que
parentWindow aient un sens ?
Merci !

--
Fred

5 réponses

Avatar
sympatix
Salut !

Si tu veux lire le code source d'une page html d'un site, tu peux
utiliser l'objet "internetexplorer.application":
Je te met un exemple ci-dessous (trouvé ici:)
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#ouvrir_web
Tu peux l'adapter pour par exemple enregistrer le code dans un fichier
texte:
En espérant que celà corresponde à ce que tu cherches ?
---------------------
Set ie = CreateObject("internetexplorer.application")
ie.Navigate ("http://www.google.fr")
Do While ie.Busy
Wscript.Sleep 200
Loop
Set doc = ie.Document
wscript.echo doc.getElementsByTagName("HTML").item(0).outerhtml
ie.quit
---------------------
--
Cordialement
Sympatix
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
"Fred" a écrit dans le message de news:
%237lM$
Bonjour,
Est-il possible, en vbscript, d'accéder au modèle objet d'un document html
?
Je souhaite juste en examiner le contenu mais je ne veux pas le
visualiser.
Un peu comme on peut le faire avec MSXML pour des fichiers xml.

J'ai essayé ceci :
Set oDoc=CreateObject("MSHTML.HTMLDocument")
J'obtiens l'erreur "un objet ActiveX n'a pu être créé".
Je suppose qu'il lui faut un hôte pour que des propriétés telles que
parentWindow aient un sens ?
Merci !

--
Fred





Avatar
Fred
Dans son message
sympatix nous dit :

Bonjour,
Est-il possible, en vbscript, d'accéder au modèle objet d'un
document html ?
Je souhaite juste en examiner le contenu mais je ne veux pas le
visualiser.
Un peu comme on peut le faire avec MSXML pour des fichiers xml.

J'ai essayé ceci :
Set oDoc=CreateObject("MSHTML.HTMLDocument")
J'obtiens l'erreur "un objet ActiveX n'a pu être créé".
Je suppose qu'il lui faut un hôte pour que des propriétés telles que
parentWindow aient un sens ?
Merci !

--
Fred


Salut !

Si tu veux lire le code source d'une page html d'un site, tu peux
utiliser l'objet "internetexplorer.application":
Je te met un exemple ci-dessous (trouvé ici:)
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#ouvrir_web
Tu peux l'adapter pour par exemple enregistrer le code dans un fichier
texte:
En espérant que celà corresponde à ce que tu cherches ?
---------------------
Set ie = CreateObject("internetexplorer.application")
ie.Navigate ("http://www.google.fr")
Do While ie.Busy
Wscript.Sleep 200
Loop
Set doc = ie.Document
wscript.echo doc.getElementsByTagName("HTML").item(0).outerhtml
ie.quit
---------------------


Bonjour,
Merci, je crois que c'est ce que je vais faire mais je me demandais s'il n'y
avait pas une méthode plus *légère*. Je n'ai pas besoin du rendu.
Ce serait pour relire un document de bookmarks tel qu'exporté par IE ou FF.
Si toutes les balises étaient fermées, j'aurais pu le faire en XML, mais là
*aucune* des balises n'est fermée :-(

--
Fred


Avatar
OnE
Pourquoi simplement ne pas le lire en temps qu'un simple fichier texte ?

set fso = createobject("scripting.filesystemobject")
set fichier = fso.opentextfile("C:bookmark.html")
do while not fichier.AtEndOfStream
msgbox fichier.readline
loop



Dans son message
sympatix nous dit :


Bonjour,
Est-il possible, en vbscript, d'accéder au modèle objet d'un
document html ?
Je souhaite juste en examiner le contenu mais je ne veux pas le
visualiser.
Un peu comme on peut le faire avec MSXML pour des fichiers xml.

J'ai essayé ceci :
Set oDoc=CreateObject("MSHTML.HTMLDocument")
J'obtiens l'erreur "un objet ActiveX n'a pu être créé".
Je suppose qu'il lui faut un hôte pour que des propriétés telles que
parentWindow aient un sens ?
Merci !

--
Fred




Salut !

Si tu veux lire le code source d'une page html d'un site, tu peux
utiliser l'objet "internetexplorer.application":
Je te met un exemple ci-dessous (trouvé ici:)
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#ouvrir_web
Tu peux l'adapter pour par exemple enregistrer le code dans un fichier
texte:
En espérant que celà corresponde à ce que tu cherches ?
---------------------
Set ie = CreateObject("internetexplorer.application")
ie.Navigate ("http://www.google.fr")
Do While ie.Busy
Wscript.Sleep 200
Loop
Set doc = ie.Document
wscript.echo doc.getElementsByTagName("HTML").item(0).outerhtml
ie.quit
---------------------



Bonjour,
Merci, je crois que c'est ce que je vais faire mais je me demandais s'il n'y
avait pas une méthode plus *légère*. Je n'ai pas besoin du rendu.
Ce serait pour relire un document de bookmarks tel qu'exporté par IE ou FF.
Si toutes les balises étaient fermées, j'aurais pu le faire en XML, mais là
*aucune* des balises n'est fermée :-(





Avatar
Fred
Dans le message:,

Dans son message
sympatix nous dit :


Bonjour,
Est-il possible, en vbscript, d'accéder au modèle objet d'un
document html ?
Je souhaite juste en examiner le contenu mais je ne veux pas le
visualiser.
Un peu comme on peut le faire avec MSXML pour des fichiers xml.

J'ai essayé ceci :
Set oDoc=CreateObject("MSHTML.HTMLDocument")
J'obtiens l'erreur "un objet ActiveX n'a pu être créé".
Je suppose qu'il lui faut un hôte pour que des propriétés telles
que parentWindow aient un sens ?
Merci !

--
Fred




Salut !

Si tu veux lire le code source d'une page html d'un site, tu peux
utiliser l'objet "internetexplorer.application":
Je te met un exemple ci-dessous (trouvé ici:)
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#ouvrir_web
Tu peux l'adapter pour par exemple enregistrer le code dans un
fichier texte:
En espérant que celà corresponde à ce que tu cherches ?
---------------------
Set ie = CreateObject("internetexplorer.application")
ie.Navigate ("http://www.google.fr")
Do While ie.Busy
Wscript.Sleep 200
Loop
Set doc = ie.Document
wscript.echo doc.getElementsByTagName("HTML").item(0).outerhtml
ie.quit
---------------------



Bonjour,
Merci, je crois que c'est ce que je vais faire mais je me demandais
s'il n'y avait pas une méthode plus *légère*. Je n'ai pas besoin du
rendu. Ce serait pour relire un document de bookmarks tel qu'exporté par
IE
ou FF. Si toutes les balises étaient fermées, j'aurais pu le faire
en XML, mais là *aucune* des balises n'est fermée :-(


Pourquoi simplement ne pas le lire en temps qu'un simple fichier
texte ?
set fso = createobject("scripting.filesystemobject")
set fichier = fso.opentextfile("C:bookmark.html")
do while not fichier.AtEndOfStream
msgbox fichier.readline
loop


Bonjour,
Je souhaite lire mon fichier pour effectuer des traitements sur
l'arborescence du document et je n'ai pas envie de réécrire un parser pour
le peu que j'ai à faire :-)


--
Fred




Avatar
ragmaxone
sympatix a écrit le 30/05/2005 à 19h04 :
Salut !

Si tu veux lire le code source d'une page html d'un site, tu peux
utiliser l'objet "internetexplorer.application":
Je te met un exemple ci-dessous (trouvé ici:)
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#ouvrir_web
Tu peux l'adapter pour par exemple enregistrer le code dans un fichier
texte:
En espérant que celà corresponde à ce que tu cherches ?
---------------------
Set ie = CreateObject("internetexplorer.application")
ie.Navigate ("http://www.google.fr")
Do While ie.Busy
Wscript.Sleep 200
Loop
Set doc = ie.Document
wscript.echo doc.getElementsByTagName("HTML").item(0).outerhtml
ie.quit
---------------------
--
Cordialement
Sympatix
(Antispam: Ôter les "toto" dans l'adresse, pour me
répondre)
"Fred" a écrit dans le message de
news:
%237lM$
Bonjour,
Est-il possible, en vbscript, d'accéder au modèle objet d'un
document html
?
Je souhaite juste en examiner le contenu mais je ne veux pas le
visualiser.
Un peu comme on peut le faire avec MSXML pour des fichiers xml.

J'ai essayé ceci :
Set oDoc=CreateObject("MSHTML.HTMLDocument")
J'obtiens l'erreur "un objet ActiveX n'a pu être
créé".
Je suppose qu'il lui faut un hôte pour que des propriétés
telles que
parentWindow aient un sens ?
Merci !

--
Fred








merci beaucoup, exactement ce que je cherchais !!

(dans mon cas j'ai remplacé le tag "HTML" par "TABLE" pour récupérer le deuxième tableau de la page)

encore MERCI !!!