demande d'aide et d'assistance

Le
Mikel
Bonjour!

Je cherche de l'aide pour réaliser un programme permettant de réaliser une
base de données des résultats des courses hippiques à partir des
informations disponibles sur certains sites internet.
Pour l'instant; je saisi manuellement dans un fichier Excel, mais j'y passe
beaucoup de temps tous les jours.
C'est la raison pour laquelle je souhaite l'automatiser.
J'ai quelques connaissances de base en VB, mais je ne sais pas automatiser
les navigations internet.

Mikel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Docteur John
Le #15365631
Mikel avait énoncé :
Bonjour!

Je cherche de l'aide pour réaliser un programme permettant de réaliser une
base de données des résultats des courses hippiques à partir des informations
disponibles sur certains sites internet.
Pour l'instant; je saisi manuellement dans un fichier Excel, mais j'y passe
beaucoup de temps tous les jours.
C'est la raison pour laquelle je souhaite l'automatiser.
J'ai quelques connaissances de base en VB, mais je ne sais pas automatiser
les navigations internet.

Mikel



Je ne sais pas ce que tu entends par automatiser la navigation, je vais
supposer que tu recherches à récupérer les données d'une page web. Déjà
pour commencer rend toi sur le site web qui t'intéresse et avec ton
navigateur fait lui afficher le code source (une option disponible
depuis le menu de n'importe quel navigateur).

Si la source contient les informations que tu veux récupérer tu peux te
lancer dans la suite qui consistera à récupérer la source et son
traitement en VB.

Tu as un exemple ici

http://www.ericphelps.com/scripting/samples/Reference/GetData.txt
LE TROLL
Le #15365621
Bonsoir,

Il existe plein de logiciel de chevaux, des
gratuits, des payant, ce serait la meilleure
solution !

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Mikel" message de news:
47ee8533$0$867$
| Bonjour!
|
| Je cherche de l'aide pour réaliser un programme
permettant de réaliser une
| base de données des résultats des courses
hippiques à partir des
| informations disponibles sur certains sites
internet.
| Pour l'instant; je saisi manuellement dans un
fichier Excel, mais j'y passe
| beaucoup de temps tous les jours.
| C'est la raison pour laquelle je souhaite
l'automatiser.
| J'ai quelques connaissances de base en VB, mais
je ne sais pas automatiser
| les navigations internet.
|
| Mikel
|
|
Jean-marc
Le #15365611
Mikel wrote:
Bonjour!



Hello,

Je cherche de l'aide pour réaliser un programme permettant de
réaliser une base de données des résultats des courses hippiques à
partir des informations disponibles sur certains sites internet.
Pour l'instant; je saisi manuellement dans un fichier Excel, mais j'y
passe beaucoup de temps tous les jours.
C'est la raison pour laquelle je souhaite l'automatiser.
J'ai quelques connaissances de base en VB, mais je ne sais pas
automatiser les navigations internet.



Voici quelques pistes, mais sache que ce n'est pas très simple.

Ce qui est facile, c'est de récupérer une page web.
Il existe une fonction de l'API Windows qui permet de le faire:

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

Elle permet de récupérer une page web et de la stocker dans un fichier
local.

On peut écrire une petite fonction pour s'en servir en VB:

Function DownloadPage(ByVal url As String, ByVal FileName As String) As
Boolean
Dim done As Boolean
Dim value As Long

On Error Resume Next

done = True
If Dir$(FileName) <> "" Then
Kill FileName
End If
value = URLDownloadToFile(0, url, FileName, 0, 0)
If Dir$(FileName) = "" Then
done = False
End If
DownloadPage = done
End Function


Ensuite on peut écrire 2 petites fonctions qui nous permettent de récupérer
directement le contenu de la page web dans un buffer (une string):

Public Function readFromFile(ByVal szFileName As String, ByRef buf As
String) As Boolean
Dim f As Integer

On Error GoTo readFromFile_err

f = FreeFile
Open szFileName For Binary As #f
buf = Space$(LOF(f))
Get #f, , buf
Close #f
readFromFile = True

readFromFile_ok:
Exit Function
readFromFile_err:
Resume readFromFile_ok
End Function

et finalement:

Public Function getHtmlFromUrl(ByVal szUrl As String, ByRef szBuf As String)
As Boolean
Dim ret As Boolean

ret = DownloadPage(szUrl, App.Path & "ghtmffurltmp.txt")
If ret Then
ret = readFromFile(App.Path & "ghtmffurltmp.txt", szBuf)
End If
getHtmlFromUrl = ret
End Function


bon avec ça, tu peux écrire le début de ton programme:

Par exemple pour récupérer la page de résultats de la première course
du jour sur le site de Paris turf:

Dim bRet As Boolean
Dim szBuf As String

bRet =
getHtmlFromUrl("http://www.paris-turf.com/fr/resultats_des_courses_hippiques/tierce_quarte_quinte/les_resultats/(d)/2008-03-01",
szBuf)


Maintenant, tu as dans szBuf le contenu de la page web contenant les
résultats de la première course le 01/03/2008.

Maintenant, il te reste à exploiter les données de cette page. C'est la que
les choses se corsent. Il va te falloir parser manuellement chaque page (en
fonction des sites) pour aller chercher dans le texte le résultat
intéressant. Et ça, c'est forcément moche à faire. Pas dur, juste moche. Car
tu vas devoir écrire beaucoup de code qui peut devenir caduque du jour au
lendemain si le site change sa manière de fabriquer sa page html.

Donc à moins que les sites sur lesquels tu prends tes infos soient bien
faits et donnent l'info dans un format sympa genre xml, tu as du travail en
perspective!

Cordialement;



--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Gloops
Le #15365601
Bonjour,

Je te suggère de faire une recherche sur DOM, ce qui te permettra aprè s
quelques heures d'étude d'extraire les informations individuelles dans
une page affichée dans un composant webbrowser, sous réserve que sa
structure reste stable.

Sinon j'aurais tendance à chercher du côté des webservices, mais pa s
sous VB, aussi je le mentionne juste pour info, parce que là on n'en es t
plus à quelques heures.

Pour DOM les référencements sur Google semblent assez judicieux au
premier coup d'œil, s'agissant d'un langage Microsoft on va quand mêm e
citer une page Microsoft :

http://msdn2.microsoft.com/fr-fr/library/hf9hbf87(VS.80).aspx
____________________________________
Mikel a écrit, le 29/03/2008 19:06 :
Bonjour!

Je cherche de l'aide pour réaliser un programme permettant de réali ser une
base de données des résultats des courses hippiques à partir des
informations disponibles sur certains sites internet.
Pour l'instant; je saisi manuellement dans un fichier Excel, mais j'y p asse
beaucoup de temps tous les jours.
C'est la raison pour laquelle je souhaite l'automatiser.
J'ai quelques connaissances de base en VB, mais je ne sais pas automati ser
les navigations internet.

Mikel




parci
Le #15365441
On Sat, 29 Mar 2008 19:06:42 +0100, "Mikel" wrote:

Bonjour!

Je cherche de l'aide pour réaliser un programme permettant de réaliser une
base de données des résultats des courses hippiques à partir des
informations disponibles sur certains sites internet.
Pour l'instant; je saisi manuellement dans un fichier Excel, mais j'y passe
beaucoup de temps tous les jours.
C'est la raison pour laquelle je souhaite l'automatiser.
J'ai quelques connaissances de base en VB, mais je ne sais pas automatiser
les navigations internet.



Déjà, depuis Excel tu peux faire des requêtes sur des pages web (menu
données externes), tu évites la saisie. Il faudra sans doute mettre en
forme le résultat avec quelques macros. Ensuite tu pourrais importer
dans une bd les données au format Excel. Il restera à écrire une
interface en VB.

Evidemment si on veut vraiment automatiser les navigations internet,
il faut utiliser un webbrowser et se lancer dans le DOM mais
l'investissement n'est pas le même.
Publicité
Poster une réponse
Anonyme