Pobieranie textu ze strony www

0

Witam.
Jestem początkującym programista C#. Ucze się od 2 tygodni i zastanawia mnie jedna rzecz na którą nie mogę znaleźć jasnej zrozumiałej odpowiedzi.

Chodzi o pobieranie informacji ze strony internetowej.
Gdyby ktoś mógł opisać w jaki to dokładnie sposób działa.

  1. Czy w stronę musi być wpleciony kod który pozwoli mojej aplikacji pobrać dany tekst?
    A może mogę pobrać dowolny akapit czy nagłówek napisany w htmlu?
  2. Może dało by rade wzucic fragment kodu który jest odpowiedzialny za pobranie tekstu z dowolnej strony i wyświetlenie go w TextBoxie.

Z góry dzięki za odpowiedz. Bardzo mi to pomoże i ułatwi dalszą naukę.

0

Do pobierania html możesz wykorzystać WebClient. Tutaj przydatna metodka: http://msdn.microsoft.com/en-us/library/fhd1f0sw.aspx.
Do wyciągania konkretnego tekstu potrzebujesz jakieś parsera. Można potraktować html jak xml, albo użyć gotowych rozwiązań jak na przykład HTML Agility Pack http://htmlagilitypack.codeplex.com/.

Jesteś początkujący w C#, czy w ogóle w programowaniu?

0

Regular Expressions

2

Można potraktować html jak xml

Zły pomysł, niestety. 99% stron nie jest prawidłowym XHTML-em (najnowszy HTML5 też nie jest prawidłowym XML)

0
class MWCC{     
public string KodStrony(string adresstronyClass)
            {
            

            using (WebClient client = new WebClient())  //tworzenie obiektu classy WebClient
            {
                client.Headers["User-Agent"] =
                "Mozilla/4.0 (Compatible; Windows NT 5.1; MSIE 9.0) " +
                "(compatible; MSIE 6.0; Windows NT 5.1; " +
                ".NET CLR 1.1.4322; .NET CLR 2.0.50727)";

                // Download data.
                string ZwrKodStrony = client.DownloadString(adresstronyClass); //użycie metody pobierającej kod strony w formie string.
                return ZwrKodStrony;  //to jest po to by nasz obiekt czy tam jego metoda zwróciła nam kod strony, dzięki temu możemy go przypisać

            }
    }
}

Taki mały napisany wczoraj przeze mnie kod classy umieszczasz go w namespace (nazwa_projektu).

Używasz np. poprzez umieszczenie w przycisku (button)

MWCC GlownyWebClient = new MWCC(); // tworzenie obiektu
            string wyswl = GlownyWebClient.KodStrony("http://google.pl"); //tworzymy stringa w którym zapiszemy nasz kod strony i użycie metody naszej classy "KodStrony"
            textBox3.Text = wyswl; //wyświetlamy stringa w naszym textboxie 

Ktoś się zapyta dlaczego to wszystko w classie, ponieważ chciałem się nauczyć robić obiekty (uczę się go od 2 dni) ,oraz daje nam to możliwość szybkiej zmiany kodu, dodania dodatkowych funkcji i zmniejszenia ilości kodu.
Ps. Tak jak wcześniej napisałem, uczę się od dwóch dni i mogę robić błędy, jeśli gdzieś jakiś znajdziecie to napiszcie tutaj, od przybytku głowa nie boli :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1