Durchparsen... Ich hab schonmal ne AutoBotEngine geschrieben die sowas macht...
Hab dir mal was zusammengebastelt:
Imports System.Net
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
Dim htmlsource As String = Request( _
"http://www.orange-gaming.eu/index.php?option=com_content&view=article&id=12&I" & _
"emid=28")
MsgBox(SearchVal(htmlsource, "<form name=""serverbuchen""", _
"[orange-gaming.eu] [CS 1.6 Instantserver #1]", "</form>").Contains("<input" & _
"class=""Button"""))
Me.Close()
End Sub
Public Function Request(ByVal query As String) As String
Dim retVal As String = String.Empty
Dim encode As System.Text.Encoding = System.Text.Encoding.UTF7
Try
Dim req As Net.HttpWebRequest = HttpWebRequest.Create(query)
req.UserAgent = "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT" & _
"5.1; (R1 1.5)"
Dim res As Net.HttpWebResponse = req.GetResponse
If Not IsNothing(res) Then
Dim reader As IO.TextReader = New IO.StreamReader(res.GetResponseStream, _
encode, False)
retVal = reader.ReadToEnd
End If
Catch ex As Exception
'
Finally
'
End Try
Return retVal
End Function
Public Function SearchVal(ByVal source As String, ByVal suche As String, ByVal _
start As String, ByVal ende As String, Optional ByVal startPosition As _
Integer = 0, Optional ByRef lastFoundPos As Integer = 0) As String
Dim retVal As String = String.Empty
Dim cEnd As Integer = 0
Try
Dim suchePos As Integer = source.IndexOf(suche, startPosition)
If suchePos <> -1 Then
Dim startPos As Integer = source.IndexOf(start, suchePos + suche.Length) + _
start.Length
If startPos <> -1 Then
Dim endePos As Integer = source.IndexOf(ende, startPos)
If endePos <> -1 Then
retVal = source.Substring(startPos, endePos - startPos)
Else
'
End If
End If
End If
lastFoundPos = suchePos
Catch ex As Exception
'
End Try
Return retVal
End Function
End Class Zur Vorgehensweise:
Mit der Methode "Request" wird der HTML-Quellcode geladen, der geparst werden soll. Dann sucht die Methode Searchval nach dem ersten Vorkommen von <form name="serverbuchen" . Wenn das gefunden wurde, wird mittels ".Contains(...)" True oder False zurückgegeben, wenn sich zwischen dem folgenden Text [orange-gaming.eu] [CS 1.6 Instantserver #1] und </form> der Text <input class="Button" befindet.
Ich hoffe das war nicht zu verwirrend...
VG. |