Page 1 sur 1

[R] Enregistrer sous une page internet

Posté : lun. 26 août 2013 12:57
par Utilisateur 4989 supprimé
Bonjour,
j'ai un site et je souhaiterais "enregistrer sous" une page internet complète (sous Firefox : "page.html" et "page_fichiers" qui contient les images, scripts, css...) automatiquement. J'ai fais ceci :

Code : Tout sélectionner

InetGet("http://------", "page.html")
mais ça ne crée que "page.html" et pas "page_fichiers".

Comment faire pour que ça enregistre de façon "page.html" et "page_fichiers" avec les images, scripts, css..., comme si je faisais "enregistrer sous" dans Firefox ?
Merci d'avance pour votre aide.

Re: [..] Enregistrer sous une page internet

Posté : lun. 26 août 2013 13:34
par yohan8
Un fichier .mht est un fichier d'archive de page web. Il permet d'enregistrer des pages visitées sur ton disque dur.

Code : Tout sélectionner

_INetGetMHT("http://www.google.Fr","google.mht")

Func _INetGetMHT( $url, $file )
    Local $msg = ObjCreate("CDO.Message")
    If @error Then Return False
    Local $ado = ObjCreate("ADODB.Stream")
    If @error Then Return False

    With $ado
        .Type = 2
        .Charset = "US-ASCII"
        .Open
    EndWith
    $msg.CreateMHTMLBody($url, 0)
    $msg.DataSource.SaveToObject($ado, "_Stream")
    FileDelete($file)
    $ado.SaveToFile($file, 1)
    $msg = ""
    $ado = ""
    Return True
EndFunc

Re: [..] Enregistrer sous une page internet

Posté : lun. 26 août 2013 20:34
par Utilisateur 4989 supprimé
J'ai modifié la 1ère ligne de ton code pour l'adapter à mon site que je veux enregistrer sous :

Code : Tout sélectionner

_INetGetMHT("http://servactif.net46.net","page.mht")
Il apparaît dans la fenêtre de résultats :

Code : Tout sélectionner

==> The requested action with this object has failed.:
$msg.CreateMHTMLBody($url, 0)
$msg.CreateMHTMLBody($url, 0)^ ERROR
Mais ce que je souhaiterais obtenir c'est "page.html" et "page_fichiers" avec les images, scripts, css...

Re: [..] Enregistrer sous une page internet

Posté : lun. 26 août 2013 21:43
par yohan8
Tu as oublié le World Wide Web ! :wink:
► Afficher le texte
J'ai fais le tour de la question et je n'ai rien trouvé d'autre, à part automatiser la sauvegarde manuelles des pages comme tu le souhaites..
Avec IE la fonction _IEAction avec le paramètre "saveas" t'ouvres une boite de dialogue
EDIT : chez moi cette boite de dialogue ne permet pas d'enregistrer la page web complète..

Tu souhaites enregistrer cette page déjà chargé dans un navigateur ? 8)

Re: [..] Enregistrer sous une page internet

Posté : lun. 26 août 2013 21:47
par jguinch
@yohan8 : j'ai aussi pensé à la commande _IEAction($oIE, "SaveAs"), mais c'est un peu pénible à automatiser (il faut 2 scripts), et j'ai l'impression que cette commande est différente de l'action "Enregistrer sous".

Re: [..] Enregistrer sous une page internet

Posté : mar. 27 août 2013 11:09
par Utilisateur 4989 supprimé
yohan8 a écrit :Tu as oublié le World Wide Web ! :wink:
Le site marche avec ou sans les "www". Avec les "www", le problème y est encore.
yohan8 a écrit :Tu souhaites enregistrer cette page déjà chargé dans un navigateur ? 8)
Pas forcément, mais si c'est nécessaire, ça ne me dérange pas.

Re: [..] Enregistrer sous une page internet

Posté : mar. 27 août 2013 12:02
par yohan8
Ha, chez moi les scripts avec et sans "www" fonctionnent..
Je tourne sur w7x64.

Pour moi il te reste plus qu'à automatiser la sauvegarde manuelle des pages.
► Afficher le texte

Re: [..] Enregistrer sous une page internet

Posté : mar. 27 août 2013 12:59
par Utilisateur 4989 supprimé
yohan8 a écrit :Je tourne sur w7x64.
Moi aussi.
yohan8 a écrit :Pour moi il te reste plus qu'à automatiser la sauvegarde manuelle des pages.
► Afficher le texte
OK, merci.
Merci pour ton aide, sujet résolu.