Synthèse presse geny

re

bonjour j'ai commencé la new version 2021 car en effet certaine petites chose ont changé en 10 ans

et mettre des patchs pour corriger a chaque changement n'est pas ma façon de développer

donc un peu de patience et tu aura vraiment tout ce qui est possible de récupérer je garde a peu prés cette présentation

cette présentation est vraiment bien. apparemment geny ne donne plus la totalité des pronos la veille.j'ai constaté que quand on cherche la veille à les télécharger il manque par exemple celui de l'indépendant par exemple.si on le fait le jour meme de la course on a tout.je crois que cela n'existait pas avant.mais bon ton classeur est vriment extra.

bonjour pascal

tu n'a rien vu en core

quand j'ai dis que je faisais une refonte c'est peu de le dire

je termine la version 2021/2022

j'ai ajouté 1 colonne ;le tableau des cotes PMU en rechargement au click droit ou accès web en cliquant sur le lien

j'ai refondu le menu car il y en a beaucoup plus d'option

notamment les encarts (favoris,secondes chances,outsiders,delaissés)

bien entendu j'ai reparteurisé le code pour la selection de la presse

je compte ajouté aussi touts les tableaux des STATISTIQUES PMU POUR LE MULTI,QUINTE,JOKEY,ENTRAINEUR)

j'ai aussi viré le calendrier version 2015 et j'ai mis ma dernière version personnalisé au couleurs de geny

bref quelques jours de patience et vous aurez une app geny toute neuve

demo7 demo8

ha oui effectivement...il est même complètement différent.si tu as l'occasion de le fournir je suis preneur. puisque l'on m'a aidé sur ce forum sympathique un petit cadeau pour les stats...l'historique complet des quintés du 22/04/2004 au 24/02/2021.très difficile à trouver et cela permettra quelques visites supplémentaires sur ce site extra grâce au moteur de recherche et permettra au fans de statistiques de s'éclater sur le turf.

Bonjour

la semaine prochaine (lundi ou mardi) je livre la version beta 2021

la version qui suivra aura son propre onglet dans le ruban (en cours)à la place du menu contextuel en colonne A dans la feuille "Liste"

voila la version 2021 beta

Bonjour, bonjour Patrick,

A mes temps perdu, je regarde aussi ce que GSheets peut apporter sans macros, en mettant en œuvre les formules importxml et xpath

On peut avoir les réunions, courses, identifiants _c1234567 avec une seule formule

query(importxml(url;XPath);"select Col1 ")

avec XPath

//div[@class='yui-gc cartoucheReunion']|//div[@class='yui-u first nomCourse']|//a[@class=' btnCourse']/@href[contains(.,'partants-pmu')]

rebonjour patricktoulon et steelson et le forum. Patricktoulon ,ta version est effectivement beaucoup plus complète et vraiment très très bien faite. Merci du partage. Par contre on ne peut l'utiliser que le jour de la course car geny fourni bien les tableau du lendemain la veille mais si on essaye de les télécharger la veille c'est impossible pour la synthèse de la presse et la plupart des tableaux d'ailleurs. Sauf après minuit bien sur. En tout cas bravo pour cette programmation vba vraiment top et tout ce travail fourni.

bonsoir Steelson

oui je m'y suis pas encore mis à Gsheet

ça viendra, je ferais appel a toi pour ça ,car je commencerais du début je m'en suis jamais servi

j'ai tellement de projets vba en cours pour les et les autres, que j'ai eu du mal a finir la geny beta 2021 sans ribbon

j'ai beaucoup travaillé (contrairement aux anciennes versions) sur les éléments manquant dans les tables ou les xml

d'ailleurs la partie xml converti en html (ou en tableau) a été costaud a traiter

sur la liste obtenu tu a les liens xml regarde tu verra dans chaque balises partant ,il n'y a pas le même nombre d'enfants, j'ai donc procédé par post traitement

ce qui me fait penser que taper avec colonne 1 ou autre dans gsheets ne serait pas judicieux, il y aurait des décalage de données (comme avant )

le résultat est beaucoup plus propre maintenant

j'essaie de terminer celle avec le ribbon au plus vite entre deux

depuis 10 ans ce fichier avait été patché moult fois pour palier au modif du site , ça devenait un truc de fou

j'ai tout repris de zero ,j'ai vraiment repenser l'exploration

et il est plus rapide bien qu'il l’était déjà pas mal je télécharge 5/ 6 tableau formaté etc.. en moins de 2 secondes

je l'ai un peu relooker aussi notament mon calendrier dans sa dernière version les tableau avec les entêtes significatives ,etc....

pascal oui geny a raccourci ces delays avant on pouvait aller jusqu ’ à la semaine suivante maintenant 4 jours max en comptant le jour

mais je n'y peux rien

c'est vrai tout dépend de geny finalement mais sans vouloir passer de la pommade tu es un génie dans ton genre. Bravo à toi en tout cas et je vais regarder de plus près Google Sheets aussi. Cela semble très intéressant notamment au niveau des possibilités de formules.

pascal juste pour te donner l'eau a la bouche

la version ribbon va se présenter comme ca (les icons ne sont pas définitifs ) y a pas tout encore

et sur 2007 le rendu est encore plus beau

image

re

STEELSON

a oui ca a l'air sympa

mais cette page elle est pas trop dure c'est les autres qui sont plus compliquées

mais j’avoue que c'est alléchant

merci steelson ...

merci patricktoulon...le rendu a l'air excellent en effet.

J'ai ajouté dans le GSheets la sélection d'une course en feuille1, et les tableaux en feuille2.

Attention = mon intention est avant tout un exercice de style de ce qu'il est possible d'obtenir avec des formules importxml, xpath, importhtml. Les formules principales sont sur fond jaune.

Demain je poursuivrai avec les stats entraîneurs et jockeys.

J'ai ajouté les stats et records, avec quelques belles formules

={"cheval" \ "sexe_âge" \ "distance" \ "entraîneur" \ "nb courses" \ "victoires" \ "places" \ "écart" \ "réussite" \ "musique";query(importxml(A3;"//partants");"select Col3,Col4,Col5,Col7 ") \ importxml(A3;"//stats")}

mais en effet, il y a des éléments manquants dans les fichiers xml (j'ai vu que Patrick avait remplacé par des X); je pourrais en tenir compte mais en allongeant la formule (je ne sais pas si c'est à ce point indispensable, et puis c'est ici un simple exercice de style)

Je terminerai avec les avis, à condition de trouver une course qui les donnent !

bonsoir steelson

je n'ajoute pas seulement des x

en fait je liste les tag qui ne sont pas tout le temps les memes selon les courses et/ou le type de course

j'obtiens une listes d'unique qui seront les entêtes d'une table créée dynamiquement

et pour ne pas avoir de décalage je place les tags les moins nombreux en fin de ligne( a droite de la table)

je reboucle une nouvelle fois et place les données dans la colonne correspondant a l’Entête

on évite ainsi les trous et les décalages

donc je généralise comme ca

c'est propre net et je n'ai plus de trous ou de décalage

pour les entêtes il y a 37 titres différents présents ou pas selon les courses donc si tu ne peux pas coder ça en js ou autre sur Gsheet tu n'ira pas plus loin à mon avis

tiens steelson je t'ai fait un herzat de ma méthode (allégée l'essentiel quoi)

imagine en voyant le "X" que si je ne fait pas comme ça donc comme tu fait dans Gsheet c'est a dire lire le flux comme il vient

les données seraient décalées pour certaine ligne surtout sur les stats record .....

'*******************************************************************************************
' fonction pour telecharger le code sour  de la page (html/xml)
Public Function recupcodesoource(url) As String
    Dim ReQ As Object
    Set ReQ = CreateObject("microsoft.xmlhttp")
    With ReQ
        .Open "post", url, False
        .send
        If .Status = 200 Then recupcodesoource = .responsetext
    End With
End Function

Sub test1()
    url = "https://www.geny.com/stats-records-hand-flux-donnees?id_course=1208950&typeStats=entraineur-pmu&type=xml"
    entete url
End Sub
Sub test2()
    url = "https://www.geny.com/stats-records-hand-flux-donnees?id_course=1208950&typeStats=jockey-pmu&type=xml"
    entete url
End Sub

Sub test3()
    url = "https://www.geny.com/stats-records-hand-flux-donnees?id_course=1208950&typeStats=record-absolu&type=xml"
    entete url
End Sub
Sub test4()
    url = "https://www.geny.com/stats-records-hand-flux-donnees?id_course=1208950&typeStats=record-parcours&type=xml"
    entete url
End Sub
Sub test5()
    url = "https://www.geny.com/stats-records-hand-flux-donnees?id_course=1208950&typeStats=record-distance&type=xml"
    entete url
End Sub

Sub entete(url)
    Dim tbl(), cod$, xmlDoc, p, balise, entx, esp, i&, c&
    cod = recupcodesoource(url)
    Set xmlDoc = CreateObject("Microsoft.XMLDOM")
    xmlDoc.Async = "false"
    If Not xmlDoc.LoadXML(cod) Then Err.Raise xmlDoc.parseError.ErrorCode, , xmlDoc.parseError.reason
    Set p = xmlDoc.getelementsbytagname("partants")
    Set balises = xmlDoc.getelementsbytagname("*")

    For Each balise In balises
        If InStr(1, "partants ResultSet stats Date", balise.tagname) = 0 Then
            If InStr(1, entx, balise.tagname) = 0 Then entx = entx & balise.tagname & " "
        End If
    Next

    entx = Split(entx, "date")(0)
    esp = Split(Replace(Application.Trim(entx), " ", ","), ",")
    ReDim tbl(0 To p.Length, 0 To UBound(esp))

    For c = 0 To UBound(esp): tbl(0, c) = esp(c): Next    'les entete de tableau

    For i = 0 To p.Length - 1
        For c = 0 To UBound(esp)
           tbl(i + 1, c) = "X"
            If p(i).getelementsbytagname(esp(c)).Length > 0 Then tbl(i + 1, c) = Replace(p(i).getelementsbytagname(esp(c))(0).Text, "false", "'false")

        Next
    Next
[A1].Resize(p.Length + 1, UBound(esp)) = tbl

End Sub

là pour le coup j'ai fait au plus simple

Bonjour Patrick,

merci pour ce super code, c'est très intelligent en effet

j'obtiens une listes d'unique qui seront les entêtes d'une table créée dynamiquement

on peut aussi en tirer cette liste par une formule en GSheets avec IMPORTDATA

=transpose(unique(arrayformula(regexreplace(transpose(split(IMPORTDATA(url);"><";false));">.*|\/";""))))

mais je ne l'ai pas exploitée car je ne pense pas qu'on fasse des traitements ensuite (genre calculs, graphs) sur ces données


J'avais en effet été vérifier dans ton code que les X provenaient bien de là td.innerhtml = "X" mais je n'avais pas été voir la logique, donc merci pour cette démo.

re

oui apres c'est un herzat

pour avoir les colonne bien alligné je deplace "deferre,piste, reductionkilometrique et d'autres encore a la fin de entx comme ça mes colonne ont soit la donnée soit que des x

c'est plus propre visuellement

pour les calcul apres par formule pas de gestion d'erreur chaque colonne a son format

espérons que la derniere version que j'ai donné va durer aussi longtemps que la versions précédente et que j'aurais pas trop de patch a faire avec les évolutions du site

Rechercher des sujets similaires à "synthese presse geny"