Code:
Imports System.Net
Imports System.Text.RegularExpressions
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error Resume Next
Dim Client As New WebClient
Dim Result As String = Client.DownloadString(TextIMDBURL.Text)
For Each Label In TabPage1.Controls
If Label.name.ToString.Contains("lbl") Then
Label.text = Label.text.split(": ")(0) & ":"
End If
Next
RichTextBox1.Clear()
lblIMDBTitle.Text += GetInfo(Result, "<title>", "</title>", 1, 0)
lblUsrRating.Text += GetInfo(Result, "<div class=""meta"">", "</b>", 1, 1).ToString.Replace("b>", "") & _
" (" & GetInfo(Result, "class=""tn15more"">", "</a>", 1, 0) & ")"
lblDirector.Text += GetInfo(Result, "/rg/directorlist", "</a><br/>", 1, 0).ToString.Split(">")(1)
lblWriters.Text += GetInfo(Result, "/rg/writerlist", "</a>", 1, 0).ToString.Split(">")(1)
lblWriters.Text += ", " & GetInfo(Result, "/rg/writerlist", "</a>", 2, 0).ToString.Split(">")(1)
lblRlsDate.Text += GetInfo(Result, "Date:</h5>", "<a", 1, 1).ToString.Replace("div class=""info-content"">", "").Trim()
lblGenre.Text += GetInfo(Result, "Genre:</h5>", "/"">", 1, 3).ToString.Split("</a>")(0)
If GetInfo(Result, "Genre:</h5>", "/"">", 1, 8).ToString.Split("</a>")(0).Length > 12 Then
Else
lblGenre.Text += ", " & GetInfo(Result, "Genre:</h5>", "/"">", 1, 8).ToString.Split("</a>")(0)
End If
lblTagLine.Text += GetInfo(Result, "class=""info-content"">", "<a", 7, 0).Trim()
RichTextBox1.Text = GetInfo(Result, "Plot:</h5>", "<a", 1, 1).replace("div class=""info-content"">", "").Trim()
If RichTextBox1.Text = Nothing Then
RichTextBox1.Text = "No plot found."
End If
For i = 1 To 15
lblCast.Text += vbNewLine & GetInfo(Result, "/rg/castlist/", ">", i, 1).ToString.Split("<")(0)
'lblCast.Text += " - " & GetInfo(Result, "class=""char""", """/", i, 0).ToString.Split("<")(0).Replace(">", "") & vbNewLine
Next
End Sub
Private Function GetInfo(ByVal StringX, ByVal Pattern, ByVal EndPattern, ByVal Pos1, ByVal Pos2)
On Error Resume Next
Dim splitX() As String = Regex.Split(StringX, Pattern)
Return splitX(Pos1).Split(EndPattern)(Pos2)
End Function
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
On Error Resume Next
Dim Client As New WebClient
Dim Result As String = Client.DownloadString("http://www.imdb.com/find?s=all&q=" & TextSearchPage.Text)
ListView1.Items.Clear()
Dim TitleArray As ArrayList = New ArrayList()
Dim URLArray As ArrayList = New ArrayList()
For i = 1 To 25
TitleArray.Add(GetInfo(Result, "link=/title/", ">", i, 1).ToString.Split("<td>")(0).Split("<br>")(0) _
.Replace("&", "&").Replace(""", """") & _
GetInfo(Result, "link=/title/", ">", i, 2).ToString.Split("<td>")(0).Split("<br>")(0))
URLArray.Add("http://www.imdb.com" & GetInfo(Result, "<td valign=""top""><a href=""", """ onclick", i, 0))
Next
TitleArray = RemoveBlanks(TitleArray)
For i = 0 To TitleArray.Count - 1
ListView1.Items.Add(TitleArray(i))
ListView1.Items.Item(i).SubItems.Add(URLArray(i))
Next
End Sub
Private Function RemoveBlanks(ByVal array As ArrayList)
Dim array1 As ArrayList = New ArrayList()
For i = 1 To array.Count - 1
If array(i).length > 3 Then
array1.Add(array(i))
End If
Next
Return array1
End Function
Private Sub TextIMDBURL_TextChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextIMDBURL.KeyDown
If e.KeyCode = Keys.Enter Then
Button1.PerformClick()
End If
End Sub
Private Sub TextSearchPage_TextChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextSearchPage.KeyDown
If e.KeyCode = Keys.Enter Then
Button2.PerformClick()
End If
End Sub
Private Sub CopyURLToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CopyURLToolStripMenuItem.Click
Try
Clipboard.SetText(ListView1.SelectedItems.Item(0).SubItems(1).Text)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class
Edit: Just realized the tag-line won't be right if there is none since its generic.. cbf to fix will do it tomorrow w/ a new version I guess..