Gegevens uit een website halen

Status
Niet open voor verdere reacties.
Ik heb dus dit: (een deel van mijn code)
PHP:
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        WebBrowser1.Navigate("http://website")
        Timer2.Enabled = False
    End Sub

    Private Function getStrFromHtml(ByVal startTag As String, _
ByVal numbersLenght As Integer) As String
        Dim htmlCode As String = WebBrowser1.Document.Body.InnerHtml
        Dim numbers As String = getStrFromHtml(":", 1)
        MessageBox.Show(numbers)

        If Not htmlCode.Contains(startTag) Then
            MessageBox.Show("Tag niet gevonden")
            Return ""
        End If

        Dim tagLocation As Integer = htmlCode.IndexOf(startTag) + startTag.Length
        Return htmlCode.Substring(tagLocation, numbersLenght)
    End Function
End Class
Hoe doe je gewone code?
 
Logisch dat hij nix doet. Je moet de functie wel aanroepen he. In mijn onderstaan voorbeeld (dat werkt), krijg je je cijfers te zien nadat je op Button1 hebt geklikt.

Code:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim numbers As String = getStrFromHtml("<DIV>", 5)
        MessageBox.Show(numbers)
    End Sub

    Private Function getStrFromHtml(ByVal startTag As String, _
    ByVal numbersLenght As Integer) As String
        Dim htmlCode As String = WebBrowser1.Document.Body.InnerHtml

        If Not htmlCode.Contains(startTag) Then
            MessageBox.Show("Tag niet gevonden")
            Return ""
        End If

        Dim tagLocation As Integer = htmlCode.IndexOf(startTag) + startTag.Length
        Return htmlCode.Substring(tagLocation, numbersLenght)
    End Function

Het is redelijk onzinnig om dit te doen lijkt me
Code:
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        WebBrowser1.Navigate("http://website")
        Timer2.Enabled = False
    End Sub
Je kan in de designer de property "url" van je browser op die site instellen

Hoop dat je nu verder kan ;)
 
Zo onzinnig is het niet, want de startpagina is de login pagina van de website. Dan door middel van een code logt die in op de website, en moet de pagina veranderd worden naar dei website ;)
 
Hartelijk bedankt! Is er misschien ook een mogelijkheid dat die onder aan de pagina begint? :P
 
Dit is een redelijk noob oplossing, maar hij werkt wel :)
Code:
    Private Function getStrFromHtml(ByVal startTag As String, _
    ByVal numbersLenght As Integer) As String
        Dim htmlCode As String = strReverse(WebBrowser1.Document.Body.InnerHtml)
        startTag = strReverse(startTag)

        If Not htmlCode.Contains(startTag) Then
            MessageBox.Show("Tag niet gevonden")
            Return ""
        End If

        Dim tagLocation As Integer = htmlCode.IndexOf(startTag) + startTag.Length
        Return htmlCode.Substring(tagLocation, numbersLenght)
    End Function
 
Hmm, ik heb een probleempje. Hij moet het na:

<td class="stat2"><div class="statmargin" align="right"><strong>$

pakken, maar dan denkt visual basic dat stat2 iets anders is dan de tekst?!
 
ja, dat komt namelijk door de aanhalings-tekens - het staat buiten de 'string'

wat je kan doen is de "-s veranderen in '-s (of andere string) via het replace() functie (ofzo) en het later terugzetten als dat nodig is.

way-arounds ftw
 
Ik ben even weg geweest, maar nu ben ik er weer :)

Vegras, ik snap het niet wat jij bedoelt...

En iemand anders heeft mij gezegd dat ik instr moet gebruiken in plaats van contains?

EDIT:
Is Vegras afgeleid van Vegas? Of van Vee-gras (gras voor de dieren?:D)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan