IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

recuperer tout les lien https et http d un txt


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 21
    Points : 9
    Points
    9
    Par défaut recuperer tout les lien https et http d un txt
    bonjour

    j ai un fichier txt avec tout ecrie sur une seule ligne c est le bloc note windows qui me le mes sur plussieur ligne

    dans se txt j ai plain de lien http et https que j aimerai extraire et mettre dans une listbox

    serai t il possible de m explique ou de me fournir un code ?

    a par lire le txt je c est pas comment formuler la rechercher et l extraction

    merci

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 274
    Points : 237
    Points
    237
    Par défaut
    Bonjour,

    Pour extraire tous les adresses HTTP et HTTPS. il faudra utiliser regex c'est très simple.

    voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each Str As String In File.ReadAllLines("le chemin du fichier txt")
                Dim mc As MatchCollection = Regex.Matches(Str, "(http|https)://.*", RegexOptions.IgnoreCase)
                For Each m As Match In mc
                    ListBox1.Items.Add(m.Value)
                Next
            Next
    cordialement,

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Ça ne fonctionne pas les liens ne sont pas extirpés.

    voici un modèle de lien : "https://static.xx.fbcdn.net/rsrc.php/yD/r/d4ZIVX-5C-b.ico\"

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 274
    Points : 237
    Points
    237
    Par défaut
    salut le code fonctionne très bien chez moi. il m'affiche tous les https dans listbox1.

    voici en image :
    Nom : Capture d’écran 2022-08-14 135012.png
Affichages : 247
Taille : 28,7 Ko

    dans le fichier teste.txt
    cordialement,

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    moi c est un fichier de codedom qui est fait sur une seule ligne a la noix de coco c est l editeur texte qui me le colle sur plussieur ligne j ai pour relencer le code et laise tourner 3mn rien en resort
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each Str As String In File.ReadAllLines("codedom.txt")
                Dim mc As MatchCollection = Regex.Matches(Str, "(http|https)://.*", RegexOptions.IgnoreCase)
                For Each m As Match In mc
                    ListBox1.Items.Add(m.Value)
                Next
            Next
    voila le lien de mon codedom
    https://drive.google.com/file/d/1-cJ...ew?usp=sharing

  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 274
    Points : 237
    Points
    237
    Par défaut
    Pourais-tu me donner quelque exemple les adresses http avec des guillemets dans dans le fichier txt?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Miska59 Voir le message
    Pourais-tu me donner quelque exemple les adresses http avec des guillemets dans dans le fichier txt?
    regarde le poste plus au j ai mie carrement le code dom
    mes le bute et de vraiment tout recuperer les liens du codedom j ai bessoin de tous et surtout la position de 1 dans le listbox me donnera le repert pour la suite de mon code vue qu il pourra pas se trouver autre part et si dans un autre code dom il est pas a sa place c est qu il est absent voila ma logique
    le lien qui m interesse le plus est celui la

    ":\"http:\\/\\/apps.facebook.com\\/is_cool\\/treasure\\/found\\/100004175707749\\/20220809\\/68829044eec0?kt_type=stream&kt_sutt=undefined&kt_st1=Wall&kt_st2=TreasureHunt&kt_st3=Start\"

  8. #8
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 274
    Points : 237
    Points
    237
    Par défaut
    salut,

    voici la solution à ton problème pour récupére les liens http dans le fichier txt.
    le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim paths As String = Path.Combine(My.Computer.FileSystem.SpecialDirectories.Desktop, "codedom.txt")
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            For Each Str As String In File.ReadLines(paths)
                Dim mc As MatchCollection = Regex.Matches(Str, "http(s)://.*?\.ico", RegexOptions.IgnoreCase)
                For Each m As Match In mc
                    ListBox1.Items.Add(m.Value)
                Next
            Next
        End Sub
    dit moi si c'est bon pour toi? cordialement,

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Il ne m'a sorti que 3 liens sur tout le contenu du fichier
    je te redonne le lien pour que tu télécharges tout le code dom que tu vois tout les http et https, faut absolument tous les sortir
    https://drive.google.com/file/d/1-cJ...ew?usp=sharing

  10. #10
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 274
    Points : 237
    Points
    237
    Par défaut
    j'avais pas compris ce que vous voulez dire mais pour avoir tous les https en sortie de listbox1

    ajouter ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each Str As String In File.ReadLines(paths)
                Dim mc As MatchCollection = Regex.Matches(Str, "http(s)?:\/\/([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?", RegexOptions.IgnoreCase)
                For Each m As Match In mc
                    ListBox1.Items.Add(m.Value)
                Next
            Next
    es ce que c'est bon pour toi? cordialement,

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Il en a sorti un peu plus mais il manque en encore certains voir même le plus important

    "http:\\/\\/apps.facebook.com\\/is_cool\\/treasure\\/found\\/100004175707749\\/20220809\\/68829044eec0?kt_type=stream&kt_sutt=undefined&kt_st1=Wall&kt_st2=TreasureHunt&kt_st3=Start\"

    je te réexplique le but final est de récupérer tout les liens sans en oublier un seul
    c'est pour ça que je t'ai donné le txt du code dom pour que tu puisses bien contrôler que tu sors bien tout les liens

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    j ai fait cette formule pour compter tout les lien du txt il m en trouve 2430

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ate Sub Button36_Click(sender As Object, e As EventArgs) Handles Button36.Click
            For Each Str As String In File.ReadLines("code domf.txt")
                Dim reg As New System.Text.RegularExpressions.Regex("http|https?:")
                Dim matches As System.Text.RegularExpressions.MatchCollection = reg.Matches(Str)
                MessageBox.Show(matches.Count.ToString)
            Next
    toi ta recherche de lien tu en estirpe 149 donc il en manque pas mal

    il me faut les 2 http et https

    je t es donner mon code dom la tu telecharger et regarder?

    se qui permeterai de bien sortir tout les liens

    je te redonne le lien pour telecharger le txt avec tout les lien dedans
    https://drive.google.com/u/0/uc?id=1...xport=download


    j ai fait se code d estraction j ai recuperer plus de 900 lien apres j aurai peu etre une erreur dans mon code de comptage de http et https plus haut dans le tread

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     For Each Str As String In File.ReadLines("code domf.txt")
                Dim mc As MatchCollection = Regex.Matches(Str, "((http|https?:\\/\/)|(\/)|(..\/))(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?", RegexOptions.IgnoreCase)
                For Each m As Match In mc
                    Dim f As String = m.Value
                    If f.Contains("http") Then
                        ListBox1.Items.Add(m.Value)
                    ElseIf f.Contains("https") Then
                        ListBox1.Items.Add(m.Value)
                    End If
     
                Next
                MsgBox(ListBox1.Items.Count)
            Next

  13. #13
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 274
    Points : 237
    Points
    237
    Par défaut
    Bonjour,

    Il en a sorti un peu plus mais il manque en encore certains voir même le plus important

    "http:\\/\\/apps.facebook.com\\/is_cool\\/treasure\\/found\\/100004175707749\\/20220809\\/68829044eec0?kt_type=stream&kt_sutt=undefined&kt_st1=Wall&kt_st2=TreasureHunt&kt_st3=Start\"

    je te réexplique le but final est de récupérer tout les liens sans en oublier un seul
    c'est pour ça que je t'ai donné le txt du code dom pour que tu puisses bien contrôler que tu sors bien tout les liens
    j'ai réussi à avoir tous les liens http plus 2423 dans le fichier txt.

    c'est pas du propre mais c'est le mieux que je peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    For Each Str As String In File.ReadAllLines(paths)
                Dim mc As MatchCollection = Regex.Matches(removeP(Str), "(http|https)://[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?", RegexOptions.IgnoreCase)
                For Each m As Match In mc
                    ListBox1.Items.Add(m.Value)
                Next
            Next
            Label1.Text = ListBox1.Items.Count
     
    Private Function removeP(f As String) As String
            Dim data As Char() = New Char() {"\", "\\", "\\\", "\\\\", "\\\\\", "\\\\\\"}
            Return f.Replace(data(data.Count - 1), "")
        End Function
    c'est le mieux que je peux proposer pour avoir tous les liens dans ton fichier txt. cordialement,

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    j ai fait comme sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            For Each Str As String In File.ReadLines("code domf.txt")
                Dim mc As MatchCollection = Regex.Matches(Str, "((http|https?:\\/\/)|(\/)|(..\/))(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?", RegexOptions.IgnoreCase)
                For Each m As Match In mc
                    Dim f As String = m.Value
                    If f.Contains("http") Then
                        ListBox1.Items.Add(m.Value)
                    ElseIf f.Contains("https") Then
                        ListBox1.Items.Add(m.Value)
                    End If
     
                Next
    j ai récupérer l index du lien qui m’intéresse

    je fait un replace de caractère et comme sa j ai mon lien bien propre

    seule truc un peu embêtent c est la regex qui mes 11sec pour se faire

  15. #15
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 274
    Points : 237
    Points
    237
    Par défaut
    salut,

    j'ai essayer chez moi. j'ai refait ton code regex. il affiche chez moi 1 seconde.
    voici le code regex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "((http|https?:\/\/))(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?"
    es ce que c'est bon pour toi?

  16. #16
    Membre actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Points : 292
    Points
    292
    Par défaut
    On peut le simplifier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
         ListBox1.BeginUpdate    
    	   For Each Str As String In File.ReadLines("C:\Users\pc\Downloads\TELE\codedom.txt")
                 Dim mc As MatchCollection = Regex.Matches(Str, "\""https?:[^\""""]+\""", RegexOptions.IgnoreCase)
                 For Each m As Match In mc
                    Dim f As String = m.Value
                    If f.Contains("http") Then
                        ListBox1.Items.Add(m.Value)
                    ElseIf f.Contains("https") Then
                        ListBox1.Items.Add(m.Value)
                    End If
                 Next
         Next
         ListBox1.EndUpdate

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par wheel Voir le message
    On peut le simplifier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
         ListBox1.BeginUpdate    
    	   For Each Str As String In File.ReadLines("C:\Users\pc\Downloads\TELE\codedom.txt")
                 Dim mc As MatchCollection = Regex.Matches(Str, "\""https?:[^\""""]+\""", RegexOptions.IgnoreCase)
                 For Each m As Match In mc
                    Dim f As String = m.Value
                    If f.Contains("http") Then
                        ListBox1.Items.Add(m.Value)
                    ElseIf f.Contains("https") Then
                        ListBox1.Items.Add(m.Value)
                    End If
                 Next
         Next
         ListBox1.EndUpdate
    EN EFFAIT TON CODE TROUVE PLUS DE LIEN QUE MOI 2405 ON DOIT PAS ETRE LOIN DE SE QUE J AVAIS ANONCER 2430 AVEC MON CODE DE RECHERCHE DE HTTP ET HTTPS PLUS HAUT EST IL EST BIEN PLUS RAPIDE TON REGEX


    APRES J AI UNE AUTRE REQUETE PEU ETRE FESABLE AU LIEU D EXTRAIRE MON CODE DOM DANS UN TXT JE POURRAI PEU ETE DIRECTEMENT FOUILLER LE DOM AVEC LA REGEX

    J ESTIRPE COMME SA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim html As String = Await WebView21.CoreWebView2.ExecuteScriptAsync("document.documentElement.outerHTML")
    JE POURRAI PEU ETRE REPRENDRE LE HTML ET DIRE AU REGEX LIT DIRECT DE LA ?

    VOUS EN PENCER QUOI ?

    UN AUTRE QUESTION LA VARIABLE HTML ELLE SE REACTUALISE D ELLE MEME A CHAQUE CODE DOM QUEL LIT OU ELLE LES EMPILE LES UN DERIERE LES AUTRE J AIMERAI QUE ENTRE CHAQUE CODE DOM QUE LIT QUEL SOIT DE NOUVEAU VIDE

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/02/2021, 16h52
  2. apache ne suis pas les liens HTTPS
    Par danathane dans le forum Apache
    Réponses: 3
    Dernier message: 02/07/2014, 23h05
  3. Recuperer toutes les requètes HTTP entrante
    Par Onitsha dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 16/06/2011, 12h54
  4. Réponses: 0
    Dernier message: 30/12/2009, 02h52
  5. Réponses: 0
    Dernier message: 25/11/2007, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo