Télécharger des fichiers à la suite d'une matchcollection
Tiflo62
-
7 mai 2020 à 16:14
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023
-
14 mai 2020 à 17:33
Bonjour,
Pour le moment j'ai une listbox avec mes liens de page internet, j'extrais les liens des images depuis le code source puis ajoute ces "url image" dans une 2eme listbox avant de tout télécharger...mais c'est long sur 2000 url et mes liens expirent avant la fin du processus.
listbox1 -> extraction de l'url image -> listbox2 -> téléchargement de l'image
Je cherche donc un moyen de télécharger les images au fur et à mesure de l'extraction sans cette deuxième listbox pour contourner ce problème de lien expiré.
Ex: Lien 1 de Link_Listbox -> récupération de l'url image -> téléchargement de l'image 1
Lien 2 de Link_listbox > récupération de l'url image -> téléchargement de l'image 2
If MsgBox((NumericUpDown2.Value.ToString - NumericUpDown1.Value.ToString + 1) & " images to download." & vbNewLine & "It may take a while to complete." & vbNewLine & "Do you want to continue?", vbYesNo + vbInformation, "logiciel en test") = MsgBoxResult.Yes Then
Try
Dim wc As New WebClient
For Each itm As String In Link_Listbox.Items
Dim source As String = wc.DownloadString(itm)
Dim m1 As MatchCollection = Regex.Matches(source, "<img id=\""pvImg\"" src=\""(.*)\"" alt=", RegexOptions.IgnoreCase)
For Each m As Match In m1
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 Or SecurityProtocolType.Tls Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Tls12
wc.DownloadFile(m.ToString), PathTextBox.Text & "\T" & Reel_TextBox.Text & "_page_" & (i + 1).ToString & ".jpg")
Next
Threading.Thread.Sleep(100)
Next
Catch ex As Exception
MsgBox(ex, MsgBoxStyle.Exclamation)
Exit Sub
End Try
MsgBox("Download completed!", MsgBoxStyle.Information)
Je bloque sur la ligne wc.DownloadFile(m.tostring)...
J'espère avoir été clair.
Merci d'avance pour votre aide.
Flo
A voir également:
Télécharger des fichiers à la suite d'une matchcollection
Je t'avais déjà déconseillé les suites de & pour construire des strings, faut croire que les conseils n'engagent que ceux qui les donnent....
Est ce que tu peux donner un morceau de texte contenant le lien que tu cherches à extraire. Parce que là, selon ta syntaxe, c'est pas uniquement le lien que tu extrais
Je n'ai pas encore corrigé cette partie contenant les &.
Je cherche surtout à résoudre le souci avant d'améliorer la totalité de mon code.
Voici le lien d'où j'extrais l'image:
Merci pour ton aide, je ne connaissais pas ce testeur.
J'arrivais déjà à récupérer le lien mais je l'envoyais ensuite vers une listbox pour télécharger un lot d'images d'un coup.
Là je veux qu'il se télécharge au fur et à mesure dès qu'il est extrait.
Je vais parcourir ton lien, merci.
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 7 mai 2020 à 20:12
J'arrivais déjà à récupérer le lien
ben à ce compte là, il fallait montrer un code qui récupère le lien, parce que là ta regex elle récupère
"<img id="pvImg" src="
plus le lien, donc y'a un traitement derrière, soit utiliser le groupe de capture soit faire un traitement (substring, replace) etc... sur la value compète.
Or dans ce que tu as montré, tu n'utilisais même pas Value.
Autant pour moi... Je récupère bien un peu de code avant le lien, j'arrivais quand même à télécharger le fichier, bizarre...
Comment déclarer le pattern (?<=img id="pvImg" src=")[^"]* ?
Les guillemets de pvImg me compliquent la tâche ou alors je m'y prends mal.
14 mai 2020 à 13:13
14 mai 2020 à 17:33