Pobranie fragmentu tekstu ze strony www

0

Chciałbym pobrać tekst ze strony www.
Utworzyłem obiekt klasy WebClient i za pomocą metody DownloadString() zapisałem zawartość strony do stringa. No i teraz chciałbym wyodrębnić z tego stringa interesujący mnie fragment wiedząc, że w kodzie html jest zawarty między komentarzem

a

Jak mógłbym to zrobić?
Aktualnie mam to tak, że sprawdzam pozycję substringa w tekście, dodaję jego długość i mam miejsce początku, potem sprawdzam pozycję tego drugiego i wycinam ten fragment. Ale czy da się to zrobić jakoś inaczej/lepiej/bezpieczniej?
No i pojawił się problem kodowania, bo w pobranym tekście są apostrofy, które zamienia mi na ciąg znaków, którego z klawiatury nie mogę wpisać, więc nie mogę użyć replace'a.
Dzięki za każdą pomoc.

0

Metoda wyciągania nawet ok.
A co do replace, możesz jaśniej? Chodzi Ci o coś takiego:

.replace('\'', 'x');

?

0

Zamiast apostrofu pojawia się ciąg znaków "a?t". Problem w tym, że te "a" to takie "a" z daszkiem i nie wiem jak je wpisać, żeby podmienić na normalny apostrof " ' "

0
petrosdbz20 napisał(a):

Zamiast apostrofu pojawia się ciąg znaków "a?t". Problem w tym, że te "a" to takie "a" z daszkiem i nie wiem jak je wpisać, żeby podmienić na normalny apostrof " ' "

Najprościej to copy/paste - (copy np. za pomocą debuggera) ja tak czasem rozwiązywałem na szybko problemy ze znakami, których nie mamy na klawiaturze normalnie.

Co do parsowania HTML polecam HTML Agility Pack. Można tam też wyciągać komentarze:
http://stackoverflow.com/questions/3844208/html-agility-pack-find-comment-node

0

Chciałem napisać aplikację na windows8. W mainpage dodałem przestrzeń system.net zawierającą klasę webclient, ale wywala mi błąd, że taka klasa nie istnieje. Coś robię nie tak?

2

Co do zamiany znaków to skorzystaj z klasy System.Net.WebUtility i metody HtmlEncode,a klasa WebClient posiada właściwość Encoding trzeba ja ostawić na Encoding.UTF8 wtedy przejdą polskie znaki w pobieranym tekście.

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