Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pobieranie zdjęcia z strony


Rekomendowane odpowiedzi

Opublikowano

Witam, mógłby ktoś pomóc w pobraniu zdjęcia ze strony youtube-mp3.org?

 

Próbowałem w ten sposób:

Imports System.Net

Dim client As New WebClient

 Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Try
retry:
            Application.DoEvents()
            WebBrowser1.Document.GetElementById("youtube-url").SetAttribute("value", TextBox1.Text)
            WebBrowser1.Document.GetElementById("submit").InvokeMember("click")
            Dim dl_link As HtmlElement = WebBrowser1.Document.GetElementById("dl_link")
            Dim link As HtmlElementCollection = dl_link.GetElementsByTagName("a")
            Dim url As String = link(2).GetAttribute("href")
            WebBrowser1.Navigate(url)
            PictureBox2.Image = New Drawing.Bitmap(New IO.MemoryStream(client.DownloadData(url)))
        Catch ex As Exception
            GoTo retry
        End Try
    End Sub

Jest to kod, który po wciśnięciu buttona pobiera nam wcześniej wczytany plik muzyczny. Na stronie wygląda to tak:

11lj1bl.png

 

Teraz dodałem linijkę do kodu żeby pobrało wcześniej wczytane zdjęcie, kod zdjęcia (przykładowego) wygląda tak:

 

1sb0b5.jpg

 

Czy np. można to zrobić za pomocą GetElementById().InnerHtml?

tumblr_me3px1cAsX1rll4sdo1_500.gif                                                             

 

                                                              

 

 

  • 2 tygodnie później...
Opublikowano

Użyj Youtube API do pobrania miniaturki.

 

A jeśli już bardzo musisz skorzystać z webBrowser:

 string[] pictureId;
        string link = "";

        void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (e.Url != webBrowser1.Url)
                return;

            else
            {
                DelayAction(1000, new Action(() => { submitData(); }));
            }
        }

        public void submitData()
        {
            webBrowser1.Document.GetElementById("youtube-url").SetAttribute("value", link);
            webBrowser1.Document.GetElementById("submit").InvokeMember("click");
            DelayAction(1000, new Action(() => { grabImage(); }));
        }

        public void grabImage()
        {
            pictureBox1.ImageLocation = "http://i.ytimg.com/vi/" + pictureId[1] + "/default.jpg";
        }


        private void button1_Click(object sender, EventArgs e)
        {
            link = textBox1.Text;
            webBrowser1.Navigate("http://youtube-mp3.org");
            webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
            pictureId = link.Split('=');
        }


        public static void DelayAction(int millisecond, Action action)
        {
            var timer = new DispatcherTimer();
            timer.Tick += delegate

            {
                action.Invoke();
                timer.Stop();
            };

            timer.Interval = TimeSpan.FromMilliseconds(millisecond);
            timer.Start();
        }

477e336934.gif

 

Mimo wszystko całość sprowadzałaby się do:

pictureBox1.ImageLocation = "http://i.ytimg.com/vi/" + textBox1.Text.Split('=')[1] + "/default.jpg";

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...