speljohan
Guru
Well, at least it used to be able to do it. This is the code i used to parse runescape website before they made an update and turned it all into javascript. I've parsed the new one, but i'm giving out my old code in an attempt to teach you all about string manipulation. Here it is:
To use that html parser, you will need to reference the file i've attached.
Enjoy
Code:
Dim html_parser As New MIL.Html.HtmlDomainTreeParser()
Dim html_document As New MIL.Html.HtmlDocument
Dim html_node As MIL.Html.HtmlNode
Dim html_nodelist As New MIL.Html.HtmlNodeCollection
Code:
Public Sub grabWorldsOld()
Dim tmp() As String
Dim worldType As String = Nothing
Dim worldPrefix As String = Nothing
Dim worldNumber As String = Nothing
If My.Computer.FileSystem.FileExists(My.Application.Info.DirectoryPath & "\worldlist.lst") Then
My.Computer.FileSystem.DeleteFile(My.Application.Info.DirectoryPath & "\worldlist.lst")
End If
Dim out As New IO.StreamWriter(My.Application.Info.DirectoryPath & "\worldlist.lst")
Dim htmlgrabber As New Net.WebClient()
html_document = html_parser.Parse(htmlgrabber.DownloadString("http://www.runescape.com/sl.ws?lores.x=420&plugin=0&order=WLPM"))
html_nodelist = html_document.Nodes.FindAllElements(True)
For Each html_node In html_nodelist
If html_node.HTML.Contains("<tr>") And html_node.HTML.Contains("</tr>") And Not html_node.HTML.Contains("</div>") And Not html_node.HTML.Contains("<table") Or html_node.HTML.Contains("<tr class=" & Chr(34) & "r2" & Chr(34) & ">") And html_node.HTML.Contains("</tr>") And Not html_node.HTML.Contains("</div>") And Not html_node.HTML.Contains("<table") Then
'Getting World Number
worldNumber = html_node.HTML.Substring(InStr(html_node.HTML(), "World") + 5)
tmp = worldNumber.Split("<")
worldNumber = tmp(0).Trim()
tmp = Nothing
'Getting World Prefix
If html_node.HTML.Contains("http") Then
tmp = html_node.HTML.Split(".")
tmp = tmp(0).Split("/")
worldPrefix = tmp(2)
tmp = Nothing
Else
worldPrefix = "Full"
End If
'Getting World Type
If html_node.HTML.Contains("<td class=" & Chr(34) & "m" & Chr(34) & ">") Then
worldType = "members"
ElseIf html_node.HTML.Contains("<td class=" & Chr(34) & "f" & Chr(34) & ">") Then
worldType = "free"
End If
out.WriteLine(worldNumber & "," & worldPrefix & "," & worldType)
End If
Next
out.Close()
MsgBox("Success! All worlds have been parsed.")
End Sub
To use that html parser, you will need to reference the file i've attached.
Enjoy

