Synthèse presse geny

bonjour,

suite aux nombreuses recherche faite sur le forum j'ai trouvé un programme vba fait par steelson pour récupérer des tableaux sur le site geny.com.

je n'arrive pas à le modifier pour obtenir la synthèse de la presse du site. J'ai essayé de modifier "tableau_partants" par "synthèse presse" en regardant le code source du site mais le reste de la macro je ne sais pas faire. J'arrive a comprendre comment fonctionne une macro et des fois ce qu'il faut changer mais sur celle la pour le tableau synthèse de la presse je n'y arrive pas.

quelqu'un pourrait-il m'aider?

merci

Bonjour et bienvenue,

Peux-tu expliquer où se trouve cette "synthèse presse" ?

Vérifie aussi les conditions d'extraction de données depuis geny, mais je pense qu'à ce stade on ne doit pas enfreindre leur réglement.

bonsoir Steelson, merci de t'intéresser de retour à ce sujet.

la synthèse de la presse se trouve après "les sélections de nos confrères" et avant "le passé de la course".

2
1

C'est sur quelle URL ? je n'arrive pas à trouver la page en question...

Sinon je veux bien travailler directement avec le code source, mais il faudrait en donner la partie concernée en format texte.

edit : ok, j'ai trouvé !

Note que la syntaxe a évolué ... j'utilise ici les DOM et non plus le traitement de texte direct à base de split

Option Explicit

Sub liste()
Dim page As New HTMLDocument, presse As Object, elem As Object, ligne%

    Cells(2, 1).CurrentRegion.Offset(2, 0).ClearContents
    ligne = 2

    page.body.innerHTML = pageHTML(Cells(2, 1))
    Set presse = page.getElementsByClassName("yui-gb")
    page.body.innerHTML = presse(3).outerHTML

    'On Error Resume Next
    For Each elem In page.getElementsByTagName("div")
        If elem.className = "num" Then
            ligne = ligne + 1
            Cells(ligne, 1) = elem.innerHTML
        ElseIf elem.className = "chv" Then
            Cells(ligne, 2) = elem.getElementsByTagName("a")(0).innerHTML
        ElseIf elem.className = "inf" Then
            Cells(ligne, 3) = elem.innerHTML
        End If
    Next

Exit Sub

End Sub

Function pageHTML(url As String) As String
    With CreateObject("WINHTTP.WinHTTPRequest.5.1")
        .Open "GET", url, False
        .send
        pageHTML = .responseText
    End With
End Function

Si tu le fais avec Google Sheets, une seule formule suffit !

={"synthèse presse";importxml("https://www.geny.com/partants-pmu/2021-02-18-vincennes-pmu-prix-de-chateaurenard_c1205936";"//div[@class='yui-gb']//div[@class='num']|//div[@class='yui-gb']//div[@class='chv']|//div[@class='yui-gb']//div[@class='inf']")}

un très grand merci steelson.je pense que je vais réussir à ce que le lien soit variable car il me semble que j'ai vu plusieurs exemple sur le site.google sheet je ne connais pas de trop mais je vais m'y interesser pour voir.au niveau formule cela a l'air d'etre plus simple que google.je me répète mais un très grand merci pour cette rapidité et je salue ton érudition dans le domaine de excel et la vba.

tout d'abord merci pour le lien google sheets.je reviens à la solution que tu m'as donnée: lorsque je change le lien hypertexte j'ai une erreur. J'ai vérifié avant de mettre le lien variable. Cela fonctionne pour le lien que tu as mis mais pas pour le lien que j'ai mis.(course d'aujourd'hui) je ne peux pas mettre de lien je n'ai pas écrit assez de message. Le code source de la page n'a pas changer mais c'est vrai qu'il n'est plus à la même ligne...je ne sais si cela change quelque chose.Les balises sont les mêmes.

3

je pense qu'il n'y a pas grand chose à changer mais je ne suis pas un grand macroïste.

sans mettre le lien complet, mets au moins la fin que je saches de quelle course il s'agit

combien y a t'il de <div class="yui-gb" ... ?

J'ai pris 3 courses au hasard ... forcément il ne peut rien trouver quand il n'y a pas de synthèse presse !

Les balises sont les mêmes.

je pense qu'il n'y a pas grand chose à changer mais je ne suis pas un grand macroïste.

donc j'aimerais savoir sur quelle course !

le nom des courses varie suivant le jour ou le lendemain.la course quinte a forcement une liste type. Donc la macro doit effectivement ne concerner que le quinte.je pense du coup qu'il faut faire varier le nom de la course dans le lien hypertexte mais que celui ci ne concerne que la course du quinté,qu'il soit du jour ou du lendemain.

je te fournis le fichier texte du code source pour la course de demain par exemple.peut etre faut il tenir compte aussi du fait que l'on soit inscrit pour pouvoir utiliser cette méthode.je ne sais pas.

50table.txt (7.93 Ko)

Je suis désolé de le demander une troisième fois, c'est l'url qu'il faudrait ou a minima le nom et numéro cxxxxxx de la course, d'autant que ton extrait de code source est partiel et je ne sais pas si le <div class="yui-gb"> est le premier, le second, le troisième ou le quatrième de la page. Or dans la macro que j'avais proposée prenait en compte la 4ème occurrence.

J'ai fini par supposer que ton extrait venait de la course 2021-02-20-cagnes-sur-mer-pmu-prix-de-sainte-maxime_c1206428

et si j'interroge je n'ai pas du tout à cette heure-ci le même extrait que toi. Attention que le site peut très bien diffuser une informations variable selon le moment d la journée en fonction de l'actualité.

mais sans un extrait complet du fichier source ce n'est pas possible de traiter ta demande => donc je mets fin pour ma part à ce fil de discussion.

Si tu souhaites peaufiner, il faut

  1. tester qu'il existe une balise div dont la className est enteteSynthesePresse
  2. rechercher ensuite la première div dont la className est pbd rnd
je ne peux pas tester faute de matière apportée.

merci pour tes efforts.Je vais voir ce que je peux faire.

bonjour

je l'ai déjà donné mon vieux classeur geny course de 2013 mais je le redonne ici et mis a jour

pour l'occasion puisque c'est la demande j'ai ajouté la sélection de la presse dans le menu click droit en colonne A dans la feuille liste

si le tableau de la presse est présent bien sur , il arrive qu'il n'y soit pas

j'ai ajouté aussi un bouton au menu pour télécharger tout les tableaux d'un coup"la totale " a peux près une demie seconde par tableaux

toujours pareil

demo8

choisir une date en cliquant sur le bouton dans feuille accueil

la feuille liste liste toute les courses de toutes les réunions

des liens vers les tableaux sont créés dans les cellules pour un accès web directe

et le menu click droit pour télécharger le ou les tableaux dans une feuille au nom de la course créée dynamiquement

j'envisage de le rafraîchir dans sa totalité une version 2021 sera crée avec bien d'autres fonctions

patricktoulon ton classeur est vraiment super.j'avais déjà sruté la version 2 et je te remercie d'avoir rajouter sur cette version la presse.un grand merci car la j'ai vraiment tout ce que je recherchais.

Rechercher des sujets similaires à "synthese presse geny"