Télécharger une page web avec touts les fichiers qu'elle contient

kapisko20 Messages postés 5 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 13 août 2006 - 11 août 2006 à 01:53
cs_RedDog Messages postés 50 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 21 août 2013 - 13 août 2006 à 00:11
salut, merci d'avoir lire ce message
mon probleme est de telecharger une page web complette avec touts les fichiers(images,doc...) qu'elle peut contenir, j'ai pu telecharger seulement la page html mais j'arrive pas à telecharger les images qui peuves etres contenues
stp si vous avez une idée ou un bou de code n'hesitez pas!!!
merci...

6 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
11 août 2006 à 02:00
Salut,

aide toi de cette source (pense à chercher dans le moteur de recherche stp, merci) :

http://www.vbfrance.com/codes/TELECHARGEMENT-PAGES-WEB_1079.aspx

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
0
kapisko20 Messages postés 5 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 13 août 2006
11 août 2006 à 18:53
mercie mais cette source telecharge seulement la page web sans les image...
0
kapisko20 Messages postés 5 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 13 août 2006
11 août 2006 à 18:53
mercie mais cette source telecharge seulement la page web sans les image...
0
cs_RedDog Messages postés 50 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 21 août 2013
12 août 2006 à 15:40
Salut,

Pour télécharger les images et les autres documents, tu dois rechercher leurs chemins dans le fichier html puis les télécharger un à un.
Le premier se fait avec les expression régulières (System.Text.RegularExpressions).
ex:
Dim ofd As New OpenFileDialog
ofd.Filter = "Document HTML|*.html;*.htm"
Dim d As DialogResult = ofd.ShowDialog
If d = Windows.Forms.DialogResult.OK Then
Dim sr As New System.IO.StreamReader(ofd.FileName, True)
Dim reg As New System.Text.RegularExpressions.Regex("src\s*=\s*(?:""(?<1>[^""]*)""|(?<1>\S+))")
Dim m As System.Text.RegularExpressions.MatchCollection = reg.Matches(sr.ReadToEnd)
Console.WriteLine("Nombre d'éléments trouvés: " & m.Count.ToString())
For Each rm As System.Text.RegularExpressions.Match In m
Console.WriteLine(rm.Groups(1).Value)
Next
sr.Close()
End If

Le second se fait avec le System.Net.WebClient().
ex:
Dim wc As New System.Net.WebClient()
Try
wc.DownloadFile({url}, {dossierLocalSauvegarde})
wc.Dispose()
Catch exc As System.Net.WebException
'Nothing
End Try
C'est pas commenté pour que tu comprennes par toi même, Google est ton ami et le moteur de recherche de ce site aussi.
En premier lieu, je t'invite à aller voir MSDN pour les expressions régulières par exemple.

Voilà, au revoir, bon courage!

PS: Un effort en Français et en orthographe!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kapisko20 Messages postés 5 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 13 août 2006
12 août 2006 à 20:02
ok mais le probleme c'est que ce code que vous avez n'est pas en vb6
0
cs_RedDog Messages postés 50 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 21 août 2013
13 août 2006 à 00:11
C'est similaire, si tu sais télécharger une page alors tu sauras télécharger autre chose, là n'est pas le problème. Le problème c'est d'extraire les chaines d'adresse web complète ou relative (http://www.monsite.fr/index/haut/monimage.jpg ou /index/haut/mapub.gif)

A partir de ou {javascript}.src= "(element)" ou...
Où on s'intéresse à 'element', on pourrait rechercher tous les src ou href pour du css par exemple en passant par leur index (String.IndexOf ou un truc comme ça) mais c'est assez chiant.
Ca donne un truc du genre:

Rechercher src au point de l'index en cours dans la chaine
Extraire la sous chaine de l'index+5 de src =" jusqu'au symbole " suivant
Et retenir l'index (en cours) de la fin de la chaine pour ne pas boucler dans le vide

La meilleure solution c'est les expressions régulières où avec le pattern suivant:
src\s*=\s*(?:""(?<1>[^""]*)""|(?<1>\S+))

on arrive à retrouver nos belles adresses:
http://www.monsite.fr/index/haut/monimage.jpg
/index/haut/mapub.gif

en s'intéressant à l'endroit qu'on lui demande d'extraire (?<1> dans le pattern)

Ca devrait être possible aussi en VB6, regarde là et , et bonne chance!
0
Rejoignez-nous