Text uit website halen

Status
Niet open voor verdere reacties.

Schipperjte

Gebruiker
Lid geworden
24 jan 2006
Berichten
212
Hoi,

zag ergens iets staan om tekst uit een website te halen

Code:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        WebBrowser1.Navigate(TextBox1.Text)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Try

            TextBox2.Text = WebBrowser1.Document.GetElementById("IMO").InnerText
        Catch ex As Exception
            MsgBox("Fout opgetreden")
        End Try
    End Sub
End Class

Het element wat ik wil weten is imo nummer.

Ik heb het dik gedrukt , maar als ik imo invul doet hij het niet
bij source code van de pagina staat dit


Code:
<div style='clear:both;'></div><div id='detailtext'><h1>PETRAN</h1><a href="generic_form.aspx?mode=update&datasource=SHIP_WIKI&aa=10129">Edit this vessel</a>&nbsp;&nbsp;&nbsp;<a href="generic_form.aspx?mode=update&datasource=WIKI_SALES&aa=10129">Vessel for Sale?</a><hr/><h2>Vessel's Details</h2><b>Ship Type:</b> Cargo<br/><b>Length x Breadth:</b> 135 m X 15 m<br/><b>Speed recorded (Max / Average):</b> 10.2 / 8.7 knots<br/><b>Flag:</b> Netherlands [NL]&nbsp;<img style="border: 1px solid #aaa" src="flags/NL.gif"/><br/><b>Call Sign:</b> PB4112<br/><b>[B]IMO[/B]:</b> 0, <b>MMSI:</b> 244660317<br/><hr/><h2>Last Position Received</h2><b>Area:</b> Rotterdam<br/><b>Latitude / Longitude:</b> <a href='default.aspx?mmsi=244660317&centerx=4.038317&centery=51.95753&zoom=10&type_color=7'>51.95753˚ / 4.038317˚ (Map)</a><br/><b>Currently in Port:</b> <a href='default.aspx?centerx=4.254&centery=51.929&zoom=13'>ROTTERDAM</a><br/
 
IMO: is geen element. Het heeft ook geen ID/classname, dus ik denk dat dit nogal lastig gaat worden om de volgende text eruit te halen. Welke nummers kan IMO bevatten? Ik zie dat er nu 0 staat, maar tot hoe hoog/laag kan hij gaan? Ik heb misschien een idee om het eruit te filteren :)

P.S. probeer je het van deze website te halen? www.marinetraffic.com

Probeer dit eens?

PHP:
        Dim A As String = New Net.WebClient().DownloadString("http://www.marinetraffic.com/ais/nl/shipdetails.aspx?MMSI=232002521")
        Dim B As String = A.Substring(A.IndexOf("<b>IMO:</b>") + 12, 7)
        MessageBox.Show(B)

Resultaat:

crFZs.png
 
Laatst bewerkt:
Dat bedoel ik .

Dit gebruik dit om een schip te zoeken.

Code:
 Process.Start("http://www.marinetraffic.com/ais/nl/datasheet.aspx?datasource=SEARCH&KEYWORD=" + TextBox7.Text)

Als ik de code er tussen zet werkt het niet ?

Of moet ik dan eerst met deze bovenstaande code het schip zoeken,
dan de gegevens uit de balk waar www staat gebruiken .

Of zoek ik het in de verkeerde hoek ?
 
"Of moet ik dan eerst met deze bovenstaande code het ship zoeken,
dan de gegevens uit de balk waar www staat gebruiken"

Helemaal goed :)

Je kan dan bijvoorbeeld een webbrowser gebruiken, en dan nadat de gebruiker een schip heeft gekozen (in de webbrowser), de gebruiker op een knop laten drukken die het volgende doet:

PHP:
Dim A As String = New Net.WebClient().DownloadString(WebBrowser1.Url.ToString)
        Dim B As String = A.Substring(A.IndexOf("<b>IMO:</b>") + 12, 7)
        MessageBox.Show(B)

Succes :)
 
Hoi,

Het werkt bedankt.

Heb geprobeerd nog wat er af te halen en werkt ook ,alleen moet ik dan gokken hoeveel letters het zijn.

krijg bijvoorbeeld dit

Code:
124578111 , <

deze laat ik dan zien in een textbox , hoe laat ik dan gelijk de
Code:
, <

weg ? . Soms staat er nog wel meer achter
Het eerste tot de komma is altijd goed.


Bas
 
Dat kan op deze manier:

Je hebt een string:
PHP:
Dim DeString As String = "124578111 , <"

Zo haal je de rotzooi weg:
PHP:
DeString = DeString.Replace(" , <", "")

Succes =)

P.S. je kan het ook zo doen:

PHP:
DeString = DeString.SubString(0, DeString.IndexOf(",") - 1)
 
Laatst bewerkt:
Bedankt,
Ik ga er mee aan de slag.

Had zelf dit al geprobeerd
Code:
 If TextBox4.Text.Contains(", <") Then

            TextBox4.Text = TextBox4.Text.Replace(", <", "")


Bas
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan