hej
potrzebuję napisać programik który ściągnie podaną mu stronę internetową i wyciągnie z niej wszystkie linki do innych stron. i jeszcze będzie komunikował jeśli poda się mu błędny adres. czy umiałby mi ktoś w tym pomóc, albo chociaż polecić gdzie o tym szukać?? z góry dzięki:)
Odpowiedz na oba pytania brzmi: Tak. Umialby ktos pomoc i polecic gdzie o tym szukac - gdybys tylko napisal z czym masz problem. Jak z napisaniem to potrzebujesz frameworka .net, srodowiska (np. visual, sharpdevelop), nastepnie otworzyc ktorys z nich i pisac, a pozniej skompilowac. To w duzym skrocie wystarczy do napisania :)
a więc nie chodzi mi o to w czym pisać i jak pisać (czyli, że przy użyciu klawiatury) :-) bardziej chodzi mi o kod, jakich klas użyć, jak rozpocząć pobieranie i potem w jaki sposób to przeglądać by wyłuskać adresy ;-)
wiem że trzeba wysłać do serwera żądanie o konkretną stronę, on wyśle mi tego html'a wsadzić to w jakiś bufor i parsować w poszukiwaniu czegoś co jest adresem, ale wiem, że można je w różny sposób zapisać i nie wiem na co zwracać uwagę. powiedzmy więc że chodzi mi o to co na czerwono zaznaczyłam [green]
No to slowa klucze sa takie:
- komunikacja z serwerem: przestrzen nazw System.Net, klasy WebClient (latwa i przyjemna) lub HttpRequest, HttpResponse (trudniejsze, ale wiele wiecej mozna zdzialac)
- parsowanie: klasa Regex, czyli wyrazenia regularne. Ta klasa zalatwisz cale przegladanie strony i wyluskanie linkow.
- komunikacja w razie bledow - to zalatwisz przechwytujac odpowiednie wyjatki przy wywolaniu metod powyzszych klas.
dziękuję:) poszukam i poczytam o tym...
dobra, poradziłam sobie ze ściągnięciem html'a ale z wyszukaniem tam lilnków nie umiem:(
znalazłam coś takiego ^https?://([\w-]+\.)+[\w-]+(/[\w-\./?%=]*)?$
że to niby opisuje strukturę adresu, ale to zastosować by wybrać wszystkie pasujące podciągi w tym ściągniętym źródle html??
Jak kiedys pisalem cos podobnego to takie wyrazenie mi wyszlo:
(?i)<a[^>]+href\s*=['""]?(?:mailto:)?([^>'""]*)['""]?\s*[^>]*>([^>]*)<\s*/a\s*>
dobra, poradziłam sobie ze ściągnięciem html'a ale z wyszukaniem tam lilnków nie umiem:(
znalazłam coś takiego
^https?://([\w-]+.)+[\w-]+(/[\w-./?%=]*)?$
że to niby opisuje strukturę adresu, ale to zastosować by wybrać wszystkie pasujące podciągi w tym ściągniętym źródle html?
Użyj klasy MatchCollection
Poza tym - wydaje mi się, że w Twoim wyrażeniu jest błąd , nie powinno być znaku <font size="4">^</span> na początku ani <font size="4">$</span> na końcu (bo to by szukało tylko linku w pojedynczym wierszu w źródle strony)
dzięki Wam, pomogło i póki co nawet działa;)
wow... tacy ort! to rodzynki :)