Indexof() błąd wyszukiwania

Indexof() błąd wyszukiwania
CE
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 9 lat
  • Postów:29
0

Hej,
mam problem z funkcją, która wczytuje kod strony HTML do String i próbuje znaleźć wartość pozycji dla danego słowa jednak wywala mi -1. Niestety nie wiem dlaczego czy tutaj długość String ma znaczenie ? (5k lini)
Jak wpiszę jakieś słowo, które znajduje się na początku znajduje pozycję, końcowe słowo też, lecz jak coś jest w środku to wywala -1.

Kopiuj
    static System.Int32 abc(System.String adress)
    {
        System.Net.WebClient client = new System.Net.WebClient();
        System.String sourceCode = client.DownloadString(adress);

        return sourceCode.IndexOf("Jakies slowo kluczowe");
    }
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 5 godzin
0

The method returns -1 if the character or string is not found in this instance.

Po prostu ci tego tekstu nie znajduje, zapewne dlatego, że go tam nie ma…

CE
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 9 lat
  • Postów:29
0

Strona: http://www.esl.eu/pl/wot/7on7/zloto_dla_zuchwalych_75/database/members/*/
Słowo kluczowe: Potwierdzeni
Wynik: -1

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Wrocław
0

To wklej jeszcze zawartość swojej zmiennej string.

CE
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 9 lat
  • Postów:29
0

Którą ? Wszystko już wkleiłem co potrzeba. Dla uściślenia wszystko wypiszę.

funkcja abc(); jest wywoływana w ten sposób

Kopiuj
 
System.Console.WriteLine(abc("http://www.esl.eu/pl/wot/7on7/zloto_dla_zuchwalych_75/database/members/*/"));

Natomiast

Kopiuj
System.String sourceCode 

To po prostu source strony.

edytowany 1x, ostatnio: Cezikos
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Wrocław
0

Tej zmiennej, w której rzekomo masz źródło strony, chociaż prosty test z wyszukiwaniem pokazuje, że wcale tak nie jest.

CE
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 9 lat
  • Postów:29
0

Dobrze znalazłem błąd... Mianowicie nie uwzględniłem jednego aspektu iż WebClient łączy się ze stroną w języku ENG przez co zmienia język na Angielski. Szukane słowo "Potwierdzeni" występuje pod "Confirmed". Sam sobie znowu odpowiedziałem na pytanie...

Jest jakaś możliwość sztucznego wymuszenia PL ?(Tak dla wiedzy na przyszłość)

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Wrocław
1

Owszem, od tego są nagłówki żądania. W Twoim przypadku:

Kopiuj
client.Headers.Add("Accept-Language", "pl,en-us;q=0.7,en;q=0.3");

Ogólnie zaprzyjaźnij się z Firebugiem czy tam innymi narzędziami deweloperskimi dla swojej przeglądarki. :)

CE
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 9 lat
  • Postów:29
0

Myślałem, że coś robię źle w tak prostej funkcji...
Dzięki za Header.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.