OVH Cloud OVH Cloud

Accés à de l'HTML

4 réponses
Avatar
Charles Tosi
Bonjour,

Comme beaucoup mon niveau de Basic s'est arrété à l'aube de l'avènement du
PC, donc à un niiveau de logique trés primaire.
Aujourd'hui j'ai besoin de nettoyer et mettre à jour des fichiers excel
assez lourds (8 à 10000 lignes). Il me faudrait pour cela accéder à des
sites web où triver l'info dont j'ai besoin.
Je veux donc:
Acceder à un URL
analyser le contenu HTML de la page web que je vais y trouver
en extraire quelques infos (Il me faut savoir comment extraire une info de
type texte située entre deux autres infos de type texte que j'utiliserai
comme délimiteurs)
placer ces infos dans les lignes adequates de mon tableau excel

je peux aussi penser à basculer de Excel vers Access si c'est plus simple;

Je ne demande pas à ce qu'on m'explique le B A BA de la chose mais qu'on me
donne des pistes où chercher les recettes de cuisine qui me permettront
d'arriver où je veux

Merci d'avance

Cordialement

Charles Tosi

4 réponses

Avatar
Christophe
Pour lire la page il te faut un composant Inet (Microsoft Internet
Transfert Control 6.0 (SP 6.0) ensuite tu peux lire une page de cette
manière :

Dim Source as string
Source = Inet.OpenURL("http://www.google.com")
msgbox source

ensuite tu analyse le code HTML et tu fait tes mises à jour dans Excell
avec la référence : Microsoft Office 10.0 Object Library.



Charles Tosi a écrit :
Bonjour,

Comme beaucoup mon niveau de Basic s'est arrété à l'aube de l'avènement du
PC, donc à un niiveau de logique trés primaire.
Aujourd'hui j'ai besoin de nettoyer et mettre à jour des fichiers excel
assez lourds (8 à 10000 lignes). Il me faudrait pour cela accéder à des
sites web où triver l'info dont j'ai besoin.
Je veux donc:
Acceder à un URL
analyser le contenu HTML de la page web que je vais y trouver
en extraire quelques infos (Il me faut savoir comment extraire une info de
type texte située entre deux autres infos de type texte que j'utiliserai
comme délimiteurs)
placer ces infos dans les lignes adequates de mon tableau excel

je peux aussi penser à basculer de Excel vers Access si c'est plus simple;

Je ne demande pas à ce qu'on m'explique le B A BA de la chose mais qu'on me
donne des pistes où chercher les recettes de cuisine qui me permettront
d'arriver où je veux

Merci d'avance

Cordialement

Charles Tosi




Avatar
Jean-Marc
Hello,

pour récuprérer une page web, tu peux aussi utiliser ceci:

déclarer ceci en tête de forme, voir la doc de 'Declare' si nécessaire

Private Declare Function URLDownloadToFile Lib "urlmon" Alias
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As
Long


ecrire cette fonction

Public Function DownloadFile(url As String, LocalFilename As String) As
Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, url, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function

puis dans le code:

Dim r as Boolean

r= DownloadFile("http://www.truc.bidule/chose/machin.htm",
monfichier.txt)
If r then
' Ouvrir le fichier (monfichier.txt)
' le lire dans une string
( voir la FAQ si nécessaire pour cela)
endif


Pour récuprére du texte entre 2 délimiteurs, tu peux faire qq chose comme
ça:
suppossons que ton premier délimiteur (début) soit "TITI" et le délimiteur
de fin "TOTO"

Disons que la chaine qui contient le code HTML de ta page soit szPage (une
string)
Alors tu peux faire:

Dim p1 as long
Dim p2 as long
dim pattern as String

p1=instr(szPage, "TITI")
if p1 then
p2=instr(p1, szPage, "TOTO")
if p2 then
pattern = mid$(szPage, p1+len("TITI"), p2-p1-len("TITI") )
endif
endif

Ce ne sont que des pistes, mais c'est l'idée générale.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;

"Charles Tosi" a écrit dans le message de
news:ecCMCF%
Bonjour,

Comme beaucoup mon niveau de Basic s'est arrété à l'aube de l'avènement du
PC, donc à un niiveau de logique trés primaire.
Aujourd'hui j'ai besoin de nettoyer et mettre à jour des fichiers excel
assez lourds (8 à 10000 lignes). Il me faudrait pour cela accéder à des
sites web où triver l'info dont j'ai besoin.
Je veux donc:
Acceder à un URL
analyser le contenu HTML de la page web que je vais y trouver
en extraire quelques infos (Il me faut savoir comment extraire une info de
type texte située entre deux autres infos de type texte que j'utiliserai
comme délimiteurs)
placer ces infos dans les lignes adequates de mon tableau excel

je peux aussi penser à basculer de Excel vers Access si c'est plus simple;

Je ne demande pas à ce qu'on m'explique le B A BA de la chose mais qu'on


me
donne des pistes où chercher les recettes de cuisine qui me permettront
d'arriver où je veux

Merci d'avance

Cordialement

Charles Tosi




Avatar
Charles Tosi
Merci de vos réponses, j'ai de quoi démarrer

"Jean-Marc" a écrit dans le message de news:
42c1a9df$0$15651$
Hello,

pour récuprérer une page web, tu peux aussi utiliser ceci:

déclarer ceci en tête de forme, voir la doc de 'Declare' si nécessaire

Private Declare Function URLDownloadToFile Lib "urlmon" Alias
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As
Long


ecrire cette fonction

Public Function DownloadFile(url As String, LocalFilename As String) As
Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, url, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function

puis dans le code:

Dim r as Boolean

r= DownloadFile("http://www.truc.bidule/chose/machin.htm",
monfichier.txt)
If r then
' Ouvrir le fichier (monfichier.txt)
' le lire dans une string
( voir la FAQ si nécessaire pour cela)
endif


Pour récuprére du texte entre 2 délimiteurs, tu peux faire qq chose comme
ça:
suppossons que ton premier délimiteur (début) soit "TITI" et le délimiteur
de fin "TOTO"

Disons que la chaine qui contient le code HTML de ta page soit szPage (une
string)
Alors tu peux faire:

Dim p1 as long
Dim p2 as long
dim pattern as String

p1=instr(szPage, "TITI")
if p1 then
p2=instr(p1, szPage, "TOTO")
if p2 then
pattern = mid$(szPage, p1+len("TITI"), p2-p1-len("TITI") )
endif
endif

Ce ne sont que des pistes, mais c'est l'idée générale.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;

"Charles Tosi" a écrit dans le message de
news:ecCMCF%
Bonjour,

Comme beaucoup mon niveau de Basic s'est arrété à l'aube de l'avènement
du
PC, donc à un niiveau de logique trés primaire.
Aujourd'hui j'ai besoin de nettoyer et mettre à jour des fichiers excel
assez lourds (8 à 10000 lignes). Il me faudrait pour cela accéder à des
sites web où triver l'info dont j'ai besoin.
Je veux donc:
Acceder à un URL
analyser le contenu HTML de la page web que je vais y trouver
en extraire quelques infos (Il me faut savoir comment extraire une info
de
type texte située entre deux autres infos de type texte que j'utiliserai
comme délimiteurs)
placer ces infos dans les lignes adequates de mon tableau excel

je peux aussi penser à basculer de Excel vers Access si c'est plus
simple;

Je ne demande pas à ce qu'on m'explique le B A BA de la chose mais qu'on


me
donne des pistes où chercher les recettes de cuisine qui me permettront
d'arriver où je veux

Merci d'avance

Cordialement

Charles Tosi








Avatar
Charles Tosi
Juste une petite question subsidiaire: les ActiveX dont fait partie Inet
sont-ils présents dans les D Visual Studio.Net ou VB 6.0? Sinon où les
trouve-t-on? Je n'ai rien trouvé dans les rubriques Téléchargement du site
Microsoft.

Merci d'avance

Charles

"Christophe" a écrit dans le message de news:
%
Pour lire la page il te faut un composant Inet (Microsoft Internet
Transfert Control 6.0 (SP 6.0) ensuite tu peux lire une page de cette
manière :

Dim Source as string
Source = Inet.OpenURL("http://www.google.com")
msgbox source

ensuite tu analyse le code HTML et tu fait tes mises à jour dans Excell
avec la référence : Microsoft Office 10.0 Object Library.



Charles Tosi a écrit :
Bonjour,

Comme beaucoup mon niveau de Basic s'est arrété à l'aube de l'avènement
du PC, donc à un niiveau de logique trés primaire.
Aujourd'hui j'ai besoin de nettoyer et mettre à jour des fichiers excel
assez lourds (8 à 10000 lignes). Il me faudrait pour cela accéder à des
sites web où triver l'info dont j'ai besoin.
Je veux donc:
Acceder à un URL
analyser le contenu HTML de la page web que je vais y trouver
en extraire quelques infos (Il me faut savoir comment extraire une info
de type texte située entre deux autres infos de type texte que
j'utiliserai comme délimiteurs)
placer ces infos dans les lignes adequates de mon tableau excel

je peux aussi penser à basculer de Excel vers Access si c'est plus
simple;

Je ne demande pas à ce qu'on m'explique le B A BA de la chose mais qu'on
me donne des pistes où chercher les recettes de cuisine qui me
permettront d'arriver où je veux

Merci d'avance

Cordialement

Charles Tosi