Google-Picture-Grabber plötzlich Funktionsunfähig
Hallo zusammen,
Folgende Problematik: Das Programm ist dazu gedacht ein Wort zu googeln die vorhandenen Bilder zu downloaden, anzuzeigen und dann wenn nötig abzuspeichern.
Die Wörter die zu suchen sind liegen in einem Textdokument im Ordner des Programms und sollen von da aus als Array eingespeist werden um sie dann abrufen zu können. Dann wird gesucht und die vorhandenen Bilder in einem Ordner zwischengespeichert und angezeigt.
Das sollte es tun bzw. hat es auch gemacht, aber seitdem ich es nach einiger Zeit wieder benutzen wollte tut es das schlicht nicht mehr.
Das einlesen funktioniert, nur das downloaden offensichtlich nicht mehr. Ich schätzte mal das einzige was sich verändert haben kann ist Google, da das letzte Update in diesem Zeitraum lag.
Nun weiß ich überhaupt nicht wie ich das ausbessern oder verändern soll, vor allem da dieses Programm in Hinsicht auf seiner Komplexität mein Erstlingswerk ist und ich Teile einfach übernommen habe. Ich wäre euch wirklich dankbar wenn ihr mir helfen könntet. Ich lege mal den Code bei der in Interaktion mit dem Internet steht.
Hallo zusammen,
Folgende Problematik: Das Programm ist dazu gedacht ein Wort zu googeln die vorhandenen Bilder zu downloaden, anzuzeigen und dann wenn nötig abzuspeichern.
Die Wörter die zu suchen sind liegen in einem Textdokument im Ordner des Programms und sollen von da aus als Array eingespeist werden um sie dann abrufen zu können. Dann wird gesucht und die vorhandenen Bilder in einem Ordner zwischengespeichert und angezeigt.
Das sollte es tun bzw. hat es auch gemacht, aber seitdem ich es nach einiger Zeit wieder benutzen wollte tut es das schlicht nicht mehr.
Das einlesen funktioniert, nur das downloaden offensichtlich nicht mehr. Ich schätzte mal das einzige was sich verändert haben kann ist Google, da das letzte Update in diesem Zeitraum lag.
Nun weiß ich überhaupt nicht wie ich das ausbessern oder verändern soll, vor allem da dieses Programm in Hinsicht auf seiner Komplexität mein Erstlingswerk ist und ich Teile einfach übernommen habe. Ich wäre euch wirklich dankbar wenn ihr mir helfen könntet. Ich lege mal den Code bei der in Interaktion mit dem Internet steht.
VB.NET-Quellcode
- Public Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
- Label1.Text = Read(d)
- Suche = "https://www.google.de/search?q=" + Read(d) + "&btnG=Suche&oe=utf-8&rls=org.mozilla%3Ade%3Aofficial&client=firefox-a&gws_rd=cr& um=1&hl=detbm=isch&tab=wi"
- d = d + 1
- WebBrowser1.Navigate(Suche)
- Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
- Dim Elementsammlung As HtmlElementCollection
- Dim KompletterString As String, x As Integer
- Elementsammlung = Me.WebBrowser1.Document.GetElementsByTagName("img")
- For Each element As HtmlElement In Elementsammlung
- ' ListBox1.Items.Add(element.GetAttribute("src"))
- KompletterString = element.GetAttribute("src")
- x = InStr(KompletterString, ":http", CompareMethod.Text)
- ListBox1.Items.Add(Mid(KompletterString, x + 1))
- Next element
- bilderdownloader()
- End Sub
- Private Sub bilderdownloader()
- Dim i As Integer, max As Integer, bildname As String
- max = ListBox1.Items.Count - 1
- ProgressBar1.Maximum = max
- For i = 0 To max
- bildname = i
- PictureBox1.Image = BaI(ListBox1.Items(i).ToString, bildname)
- ProgressBar1.Value = i
- i = i + 1
- Next
- ProgressBar1.Visible = False
- PictureBox1.Refresh()
- PictureBox1.ImageLocation = ("C:" & TextBox2.Text & "\ZwischenSpeicher\0")
- End Sub
- Public Function BaI(ByVal sURL As String, ByVal bildname As String) As Image
- Try
- Dim Bildanfrage As WebRequest = WebRequest.Create(sURL)
- Bildanfrage.Method = "Get"
- Dim Bildantwort As WebResponse = Bildanfrage.GetResponse
- Application.DoEvents()
- Dim bilddaten As New StreamReader(Bildantwort.GetResponseStream())
- Dim bild As Image = Image.FromStream(bilddaten.BaseStream)
- bilddaten.Close()
- Bildantwort.Close()
- bild.Save("C:" & TextBox2.Text & "\ZwischenSpeicher" & bildname)
- Return bild
- Catch ex As Exception
- Return Nothing
- End Try
- End Function