Télécharger une page web avec touts les fichiers qu'elle contient
kapisko20
Messages postés5Date d'inscriptionmardi 25 juillet 2006StatutMembreDernière intervention13 août 2006
-
11 août 2006 à 01:53
cs_RedDog
Messages postés50Date d'inscriptionlundi 7 avril 2003StatutMembreDernière intervention21 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...
A voir également:
Télécharger une page web avec touts les fichiers qu'elle contient
cs_RedDog
Messages postés50Date d'inscriptionlundi 7 avril 2003StatutMembreDernière intervention21 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!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_RedDog
Messages postés50Date d'inscriptionlundi 7 avril 2003StatutMembreDernière intervention21 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+))