need to somehow copy the number of seasons and episodes in each season from a Wikipedia table into two combo boxes. One for seasons and the other for episodes. The apps supposed to allow the user to type in their favorirte show in the top input box. Then fill the first combo box with the number of seasons and when the user selects one the relevant number of episodes are shown
Link to table with number of seasons and number of episodes in each season: http://en.wikipedia.org/wiki/List_of_House_episodes#Series_overview_and_ratings
code:
Public Class Form1
Dim Search As String
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Search = TextBox1.Text
Search = Search.Replace(" ", "+")
Search = "http://www.google.com/search?btnI=I'm+Feeling+Lucky&q=" & Search & "episode+list+wikipedia"
If Asc(e.KeyChar) = 13 Then
WebBrowser1.Navigate(Search)
TextBox1.Text = Search
End If
End Sub
End Class
So far I've found out howto download the page source even manipulate the page a little but I don't know how to use this to get the number of seasons and episodes in each season into combo boxes. Any help would be great thanks
Code:
Imports System.Text.RegularExpressions
Public Class Form1
Dim sourcecode As String
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
sourcecode = ((New Net.WebClient).DownloadString("http://en.wikipedia.org/wiki/List_of_House_episodes#Series_overview_and_ratings "))
Dim Code As String
Dim Information As MatchCollection = Regex.Matches(sourcecode, "<td>(.*?)</td>", RegexOptions.None)
For Each Info In Information
Code = Regex.Replace(Info.ToString, "td>", "", RegexOptions.None)
Code = Regex.Replace(Code, "</td>", "", RegexOptions.None)
MsgBox(Code)
Next
End Sub
End Class
this code grabs the contents of the tables in the site and presents them to a page. you could add some additional code to interate thourgh the tables to get the details you are looking for.
' Create a request for the URL.
Dim request As WebRequest = WebRequest.Create("http://en.wikipedia.org/wiki/List_of_House_episodes#Series_overview_and_ratings")
' If required by the server, set the credentials.
request.Credentials = CredentialCache.DefaultCredentials
' Get the response.
Dim response__1 As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
' Display the status.
Console.WriteLine(response__1.StatusDescription)
' Get the stream containing content returned by the server.
Dim dataStream As Stream = response__1.GetResponseStream()
' Open the stream using a StreamReader for easy access.
Dim reader As New StreamReader(dataStream)
' Read the content.
Dim responseFromServer As String = reader.ReadToEnd()
' Display the content.
Console.WriteLine(responseFromServer)
' Cleanup the streams and the response.
reader.Close()
dataStream.Close()
response__1.Close()
'reads the html into an html document to enable parsing
Dim doc As IHTMLDocument2 = New HTMLDocumentClass()
doc.write(New Object() {responseFromServer})
doc.close()
'loops through each element in the document to check if it qualifies for the attributes to be set
For Each el As IHTMLElement In DirectCast(doc.all, IHTMLElementCollection)
' check to see if all the desired attributes were found with the correct values
Dim qualify As Boolean = True
If el.tagName = "TABLE" Then
Dim meta As HTMLTableClass = DirectCast(el, HTMLTableClass)
Response.Write(el.outerHTML)
End If
Next