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 :

Récuperer texte page web


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut Récuperer texte page web
    Bonjour à tous.
    Alors en faite j'ai un site web avec une page qui contiendra juste un chiffre ou un nombre et je voudrais pouvoir récupérer ce nombre ou ce chiffre.

    Ce nombre ou ce chiffre sera afficher sur la page soit dans une textbox ou directement dans le code Html ou autrement je ne sais pas mais il sera bien là.

    D'avance merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut réponse
    Il me récupère tous le code html en faite ...
    Comment je fais ensuite pour récuperer juste mon nombre?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    Variable string
    .contains
    .indexof
    .chars

    si ta page est toujours pareil ça devrait être facile

    ciao

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut réponse
    Oui met avec indexof je test si le nombre est la mais je sais pas lequel est-ce , je dois donc tester tous les nombres?

  6. #6
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    A coup de Regex ou de .indexOf et Substring comme dit plus haut.
    Montre nous le code de la page si tu veut qu'on soit plus précis

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    Je te donne un exemple de ce que je fait

    je recherche une serie de caractère unique qui se retrouve avant l'information que je cherche genre

    InfoTbl.Contains(valItem)
    InfoTbl est ma pageweb et valItem est la série recherché
    ValItem = <div class=""last"">
    ensuite je prend l'index de cette endroit et je conte combien de caractère je doit passer avant l'information que je veux que j'ajoute à l'index ...

  8. #8
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    j'ai un site web avec une page qui contiendra juste un chiffre ou un nombre et je voudrais pouvoir récupérer ce nombre ou ce chiffre.
    Tu peux faire ça pour récupérer ce que tu veux:
    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    intNb1 = InStr(1, strCodeSource, ">") 'Position du caractère ">" dans le code source
    intNb2 = InStr(intNb1, strCodeSource, "<") 'Position du caractère "<" dans le code source à partir de la position précédente (intNb1)
    strRecup = Mid(strCodeSource, intNb1, intNb2 - intNb1) 'Récupère le string qu'il y a entre les deux positions (intNb1 et intNb2)


    intNb1/intNb2 sont des integer
    strCodeSource est un string contenant le code source de la page web
    strRecup est un string récupérant les données que tu veux.

    Bien entendu, c'est à toi d'identifier les caractères html qui entour le chiffre que tu veux récupérer.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut
    Merci pour les réponses j'arrive à ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
      Dim webRequest As WebRequest
            Dim webResponse As WebResponse
     
            webRequest = HttpWebRequest.Create("http://www.google.com/webhp?hl=fr")
            webResponse = webRequest.GetResponse()
     
            Using stream As StreamReader = New StreamReader(webResponse.GetResponseStream)
                Dim r As New Regex("(?<word>\d)", RegexOptions.Multiline Or RegexOptions.IgnoreCase)
     
                Dim input As String
                Do While stream.Peek >= 0
                    input = stream.ReadLine
                    Dim matches As MatchCollection = r.Matches(input)
     
                    If matches.Count > 0 Then
                        ' Console.WriteLine("{0} ({1} matches):", input, matches.Count)<br/>
                        For Each match As Match In matches
                            TextBox1.Text += match.Value
                            Dim strCodesource = TextBox1.Text
                            Dim intNb1 = InStr(1, strCodesource, "10") 'Position du caractère ">" dans le code source
                            Dim intNb2 = InStr(intNb1, strCodesource, "15") 'Position du caractère "<" dans le code source à partir de la position précédente (intNb1)
                            Dim strRecup = Mid(strCodeSource, intNb1, intNb2 - intNb1) 'Récupère le string qu'il y a entre les deux positions (intNb1 et intNb2)
                        Next
                    End If
                Loop
            End Using
    Problème j'ai l'erreur suivante
    L'argument 'Start' doit être supérieur à zéro.
    sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim intNb2 = InStr(intNb1, strCodesource, "15")

  10. #10
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    Bonsoir,

    intNb1 donc sûrement être égal à -1 car il n'a pas trouvé la chaîne de caractères.

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut réponse
    Pourtant quand j'enlève
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         Dim strCodesource = TextBox1.Text
                            Dim intNb1 = InStr(1, strCodesource, "10") 'Position du caractère ">" dans le code source
                            Dim intNb2 = InStr(intNb1, strCodesource, "15") 'Position du caractère "<" dans le code source à partir de la position précédente (intNb1)
                            Dim strRecup = Mid(strCodeSource, intNb1, intNb2 - intNb1) 'Récupère le string qu'il y a entre les deux positions (intNb1 et intNb2)
    La textbox m'affiche cette suite de nombre :
    885917553127213272137553127213204101000110100010500038081720362
    000049645812341113122719711024100010001971363627100115009955551
    312252312340023611427255181432177717773044520131119999993027150
    003000012032000000000055180000271111111139660222221222223222210
    033326379443340028031110276777162147000258859132402048571999999
    000182505806039258335101919767676820100844448321114641052200300
    30030033084113000
    la chaîne n'est donc pas vide ...
    Une erreur de code?

Discussions similaires

  1. Récuperer données page web
    Par iperkut dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/09/2010, 19h51
  2. besoin d'aide pour récuperer valeur page web
    Par moldock dans le forum Débuter
    Réponses: 6
    Dernier message: 27/07/2009, 14h45
  3. récuperer une page web en java
    Par hélvète dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 30/04/2008, 22h02
  4. récuperer contenu page web en c
    Par hitcher48 dans le forum Développement
    Réponses: 4
    Dernier message: 25/04/2007, 20h13
  5. Récuperer Titre page web en cours!!!
    Par GeDeon35 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 31/05/2005, 23h26

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