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
| Option Explicit
Sub WaitIE(IE As InternetExplorer)
'On boucle tant que la page n'est pas totalement chargée
Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
End Sub
Sub SaveHtmlFile(Url2 As String, URLImg2 As String, IEDoc As HTMLDocument, Dest As String)
Dim DemandeFichier As New MSXML2.XMLHTTP 'activer Microsoft XML dans les références
Dim StreamFile As New ADODB.Stream 'activer M$ ActiveX Data Object Lib
'On génère la requête
With DemandeFichier
.Open "GET", URLImg2, False
.setRequestHeader "Accept", "image/png, image/svg+xml, image/*;q=0.8, */*;q=0.5"
.setRequestHeader "Accept-Encoding", "gzip , deflate"
'.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8" 'Ajouté
.setRequestHeader "Cache-Control", "max-age=0" 'Ajouté
.setRequestHeader "Accept-Language", "fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3"
.setRequestHeader "Connection", "keep-alive" 'Modifié, espace retiré "keep -alive"
.setRequestHeader "Host", "www.colissimo.fr"
.setRequestHeader "Referer", Url2
.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.0; rv:29.0) Gecko/20100101 Firefox/29.0"
.setRequestHeader "Cookies", IEDoc.cookie
'On l'exécute la requête
.send '"styleBold=true&width=75&id=fr_23867263_date_1" 'les paramètres sont déjà inclus dans URLImg...
'On copie les données dans un fichier
StreamFile.Type = 1 'binary
StreamFile.Open
StreamFile.write .responseBody
StreamFile.SaveToFile Dest, 2 'overwrite
StreamFile.Close
End With
End Sub
Sub Colissimo()
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim Generic As HTMLGenericElement
Dim Url As String
Dim TagItem As IHTMLElement
Dim TagItem1 As IHTMLElement
Dim TagItem2 As IHTMLElement
Dim ImgElem As IHTMLElementCollection
Dim URLImg As String
Dim URLImg1 As String
Dim URLImg2 As String
'Ouvre la page WEB
Url = "http://www.colissimo.fr/portail_colissimo/suivre.do?m=10003005&colispart=8J00238672635"
IE.Visible = True
IE.navigate Url
WaitIE IE
Set IEDoc = IE.document
'On pointe tous les éléments images
Set ImgElem = IEDoc.getElementsByTagName("img")
'On séléctionne l'adresse de l'image qui nous intéresse dans la collection
Set TagItem = ImgElem(7)
Set TagItem1 = ImgElem(8)
Set TagItem2 = ImgElem(9)
URLImg = TagItem.href
URLImg1 = TagItem1.href
URLImg2 = TagItem2.href
'On sauvegarde l'image dans un répertoire
SaveHtmlFile Url, URLImg, IEDoc, "c:\image\Date.png"
SaveHtmlFile Url, URLImg1, IEDoc, "c:\image\Libellé.png"
SaveHtmlFile Url, URLImg2, IEDoc, "c:\image\Site.png"
Set IE = Nothing
Set IEDoc = Nothing
'AjoutImage "c:\image\Date.png"
End Sub |