1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| Sub testesimple10()
Dim prix, RC, DsP, HiPPo, base, oldate
url = "http://www.pronostics-turf.info/fg-pronostics-presse.php"
Set IE = CreateObject("internetexplorer.application")
IE.navigate url
'IE.Visible = True:
Do: DoEvents: Loop While IE.readystate <> 4 Or IE.busy
With IE: Codehtml = .document.body.innerhtml: IE.Quit: End With
'getelementsbytagname("blockquote")(1).outerhtml
'Debug.Print Codehtml
lscript = Split(Codehtml, "<script")
Codehtml = Replace(Codehtml, Split(lscript(3), "/script>")(0) & "/script>", "")
With CreateObject("htmlfile")
.body.innerhtml = Codehtml
.Close
' on va récupérer les données titre en string les balises html sont entrelacées
lignetext = Split(.body.innertext, vbCrLf)
For a = 0 To 20 'UBound(lignetext)
If InStr(lignetext(a), "Résultat QUINTE") > 0 Then baseold = lignetext(a)
If InStr(lignetext(a), "QUINTE: ") > 0 Then baseprix = lignetext(a)
If InStr(lignetext(a), "Réunion") > 0 Then baseRC = lignetext(a)
If InStr(lignetext(a), "allocation") > 0 Then baseDsP = lignetext(a) 'allocation
Next
'récupération de la date de la derniere course
oldate = Split(Split(Replace(baseold, "hier", "hui"), "hui")(1), ":")(0)
oldate = Format(Replace(Trim(Replace(oldate, Split(oldate, " ")(1), "")), " ", "/"), "dd/mm/yyyy")
'récupération de l'arrivée de la course precedente
OldArrivée = Replace(StrReverse(Split(StrReverse(baseold), ":")(0)), " ", "")
'récupération du nom du prix
'QUINTE:
prix = Split(baseprix, "QUINTE: ")(1)
'récupération de l'hippodrome
HiPPo = Split(Split(baseRC, "à ")(1), " ")(0)
'récupération du RC
RC = "R" & Replace(Split(Split(baseRC, "Réunion ")(1), " Départ:")(0), " Course ", "C")
' Départ:
'récupération de la date de la prochaine course
lDate = Format(Split(Split(baseRC, "le ")(1), ",")(0), "dd/mm/yyyy")
'Debug.Print lDate
DsP = StrReverse(Split(StrReverse(baseDsP), " ")(0))
'ca c'est juste pour test ca ne restera pas
mess = mess & "Date de la course precedente : " & oldate & "<BR>"
mess = mess & "Arivée de la course precedente : " & OldArrivée & "<BR>"
mess = mess & "*********************************" & "<BR>"
mess = mess & "date de la prochaine course : " & lDate & "<BR>"
mess = mess & "Prix de la prochaine course : " & prix & "<BR>"
mess = mess & "Hippodrome dde la prochaine course : " & HiPPo & "<BR>"
mess = mess & " RC de la prochaine course : " & RC & "<BR>"
mess = mess & " discipline de la prochaine course : " & DsP & "<BR>"
mess = mess & "<BR>" & "<BR>"
For Each elem In .all
i = i + 1
If elem.tagname = "TR" Then texte2 = texte2 & elem.outerhtml
Next
.body.innerhtml = mess & "<TABLE>" & texte2 & "</TABLE>"
'Maintenant que l'on a tout on peut travailler
'******************************************************************************************************************
'occupons nous des tables que l'on veut garder et analyser maintenant
listPRnst = Array("Bilto :", "Agence TIP :", "Top Entraineurs : ", "Stato Turf : ", "Paris Turf : ")
Set mesTR = .getelementsbytagname("TR")
texte2 = ""
For i = 0 To mesTR.Length - 1
For t = 0 To UBound(listPRnst)
If InStr(mesTR(i).outerhtml, listPRnst(t)) > 0 Then texte2 = texte2 & vbCrLf & "<TR>" & mesTR(i).innerhtml & "</TR>"
Next
If InStr(mesTR(i).outerhtml, "Synthèse") > 0 Then
mesTR(i).ID = "synthW"
table3 = "<TR>" & mesTR(i - 4).innerhtml & "</TR>" & "<TR>" & mesTR(i).innerhtml & "</TR>"
End If
Next
table3 = "<TABLE>" & table3 & "</TABLE>"
'*********************************************************************************************************************
.body.innerhtml = mess & "<TABLE>" & texte2 & "</TABLE>" & table3
'on va maintenant enlever les IMG que l'on ne voit pas sur ton sheets et qui grossissent le fichier
For Each elem In .all
If elem.tagname = "IMG" Then code = Replace(.body.innerhtml, elem.outerhtml, "")
Next
.body.innerhtml = code
Debug.Print code
If .parentWindow.clipboardData.setData("Text", .body.innerhtml) Then
Application.ScreenUpdating = False
With Sheets(1)
.Activate
.Cells.Clear
Cells(Rows.Count, 1).End(xlUp).Offset(2, 0).Select
.Paste
End With
.parentWindow.clipboardData.clearData "Text"
End If
End With
End Sub |
Partager