Hallo, ich schreibe ein kleines Tool womit man Stellenangebote von der JobBörse automatisch ermitteln kann. An sich funktioniert das auch schon recht gut, allerdings hängt sich das Programm einfach auf ab der dritten Seite, aber wieso? Ich bekomme keine Fehlermeldung oder sonst was, was ich aber sagen kann ist das es mit Sicherheit an der Funktion loadJobInfo liegt. Denn wenn ich dies beim umblättern weg lasse funktioniert das alles einwandfrei. Hat jemand eine Idee woran es liegen kann?
// Edit(Sry code vergessen ^^)
// Edit(Sry code vergessen ^^)
VB.NET-Quellcode
- Imports System.Text.RegularExpressions
- Imports System.Net
- Imports System.Web
- Imports System.IO
- Public Class Form1
- Private email As String
- Private name_ As String
- Private lastname As String
- Private nameTitle As String
- Private jobTitle As String
- Private jobDesc As String
- Private host As String
- Private responseHost As String
- 'Private WithEvents Webbrowser_ As New WebBrowser
- Private Function loadJobInfo(ByVal url As String)
- email = Nothing
- name_ = Nothing
- lastname = Nothing
- nameTitle = Nothing
- jobTitle = Nothing
- jobDesc = Nothing
- Dim Request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
- Dim client As New Net.WebClient
- Dim str As String = client.DownloadString(url)
- Dim myWebRequest As WebRequest = WebRequest.Create(url)
- ' Send the 'WebRequest' and wait for response.
- Dim myWebResponse As WebResponse = myWebRequest.GetResponse()
- host = myWebRequest.RequestUri.Host
- responseHost = myWebResponse.ResponseUri.Host
- If host = responseHost Then
- Dim mail_reg As New Regex("<a id=""vermittlung.stellenangeboteverwalten.detailszumstellenangebot.email"" href=""mailto:.*"" class=""externerLink"" target=""_blank"" title=""Zur Erstellung einer E-Mail. Legt eine neue E-Mail in Ihrem Mailprogramm an, wenn Sie ein Mailprogramm installiert haben""><span>.*</span>")
- Dim mail_mat As Match = mail_reg.Match(str)
- If mail_mat.Success = True Then
- email = mail_mat.Value.Split("<")(2).Split(">")(1)
- End If
- If str.Contains("Herr") Then
- nameTitle = "Herr"
- Else
- If str.Contains("Frau") Then
- nameTitle = "Frau"
- Else
- nameTitle = "Damen und Herren"
- End If
- End If
- title_lb.Text = "Titel: " & nameTitle
- Dim name_reg As New Regex("<span id=""vorname_-2147483648"">.*</span>")
- Dim name_mat As Match = name_reg.Match(str)
- If name_mat.Success = True Then
- name_ = name_mat.Value.Split("<")(1).Split(">")(1)
- End If
- Dim desc_reg As New Regex("<span id=""stellenbeschreibung"">.*</span>")
- Dim desc_mat As Match = desc_reg.Match(str)
- If desc_mat.Success = True Then
- Dim rep As String = desc_mat.Value.Replace("<span id=""stellenbeschreibung"">", "").Replace("</span>", "").Replace("<br />", "")
- rep = rep.Replace("ä", "ä")
- rep = rep.Replace("ö", "ö")
- rep = rep.Replace("ü", "ü")
- rep = rep.Replace("Ä", "Ä")
- rep = rep.Replace("Ö", "Ö")
- rep = rep.Replace("Ü", "Ü")
- rep = rep.Replace("ß", "ß")
- jobDesc = rep
- description_txt.Text = jobDesc
- End If
- Dim lastname_reg As New Regex("<span id=""nachname_-2147483648"">.*</span>")
- Dim lastname_mat As Match = lastname_reg.Match(str)
- If lastname_mat.Success = True Then
- lastname = lastname_mat.Value.Split("<")(1).Split(">")(1)
- End If
- Dim jobtitle_reg As New Regex("<b>.*</b>")
- Dim jobtitle_mat As Match = jobtitle_reg.Match(str)
- If jobtitle_mat.Success = True Then
- jobTitle = jobtitle_mat.Value.Split("<")(1).Split(">")(1)
- jobTitle = jobTitle.Replace("ä", "ä")
- jobTitle = jobTitle.Replace("ö", "ö")
- jobTitle = jobTitle.Replace("ü", "ü")
- jobTitle = jobTitle.Replace("Ä", "Ä")
- jobTitle = jobTitle.Replace("Ö", "Ö")
- jobTitle = jobTitle.Replace("Ü", "Ü")
- jobTitle = jobTitle.Replace("ß", "ß")
- End If
- jobtitle_txt.Text = jobTitle
- email_lb.Text = "E-Mail: " & email
- name_lb.Text = "Vorname: " & name_
- lastname_lb.Text = "Nachname: " & lastname
- Else
- Me.Text = "Externer Server"
- End If
- End Function
- Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
- Webbrowser_.Navigate("https://jobboerse.arbeitsagentur.de" & ListBox1.SelectedItem)
- End Sub
- Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- Webbrowser_.Navigate("https://jobboerse.arbeitsagentur.de/vamJB/stellenangeboteFinden.html")
- End Sub
- Dim index As Integer = -1
- Dim jobList As New List(Of String)
- Private Sub Webbrowser__DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles Webbrowser_.DocumentCompleted
- Try
- Webbrowser_.Document.GetElementById("arbeitsort.ort").InnerText = city_txt.Text
- Webbrowser_.Document.GetElementById("stellenangebotesuchen_unten").InvokeMember("click")
- Catch ex As Exception
- End Try
- If Webbrowser_.Document.Url.AbsolutePath = "/vamJB/stellenangeboteFinden.html" Then
- index += 1
- If Webbrowser_.Document.Url.AbsoluteUri.Contains("_eventId_detailView") Then
- Webbrowser_.Document.GetElementById("vorblaettern").InvokeMember("click")
- loadJobInfo(Webbrowser_.Document.Url.OriginalString)
- Else
- index += 1
- Dim get_jobID As New Regex("<a id=""zugang.stellenangebotesuchen.ergebnisanzeigedersuchenachstellenangeboten.berufsbezeichnungdesstellenangebots_.*""")
- Dim get_jobmat As MatchCollection = get_jobID.Matches(Webbrowser_.DocumentText)
- For Each tt As Match In get_jobmat
- If tt.Value.Contains("internerLink") Then
- jobList.Add(tt.Value.Split(""" href=")(1))
- End If
- Next
- If Webbrowser_.Document.GetElementById("zugang.stellenangebotesuchen.ergebnisanzeigedersuchenachstellenangeboten.berufsbezeichnungdesstellenangebots_0").OuterHtml.Contains("internerLink") Then
- Webbrowser_.Document.GetElementById("zugang.stellenangebotesuchen.ergebnisanzeigedersuchenachstellenangeboten.berufsbezeichnungdesstellenangebots_0").InvokeMember("click")
- End If
- End If
- End If
- End Sub
- End Class