Šta je novo?

[C#] Parsiranje web strane

Eclipse

Slavan
Učlanjen(a)
06.04.2005
Poruke
301
Poena
319
U pitanju je Visual Studio 2008 (3.5), Windows aplikacija.

Prilikom parsiranja neke stranice desava mi se da mi neke reci koje se na stranici vide na engleskom jeziku, prevede na srpski. Veoma mali procenat reci je u pitanju ali postoje. Zbog cega to radi?

Kod:
ovo je deo metode DownloadData:
WebRequest req = WebRequest.Create(Url);
WebResponse response = req.GetResponse();
Stream stream = response.GetResponseStream();

prebacim u niz byte-ova i zatim

end DownloadData



string htmlData = System.Text.Encoding.UTF8.GetString(DownloadData(_startPage, out responseUrl));
 
Mislis, bukvalno prevede npr. House -> Kuća?
 
Bas tako. E sad, neke nazive ostavi na engleskom, dok neke prevede. Kad otvorim View Page Source te strane, sve je normalno na engleskom, svi nazivi. Medjutim, kad ucitam stranu (gore u kodu promenjiva htmlData) nazivi su na srpskom, prevedeni.
Probao sam druge encoding ali ista je situacija.
 
Na bilo kom sajtu? Mora da povuces neku lokalizovanu veriju resursa... probaj nesto sto sigurno nema srpski jezik...
 
Ne znam odakle vuces podatke, ali moguce da tvoj izvor parsira drugacije podatke u odnosu na to ko trazi. U taj deo se ne razumem previse, ali on generalno moze uzeti podatke iz tvog browsera o tvojim podesavanjima (npr. default webpage jezik u browseru), ili da podesi to na osnovu lokacije odakle pristupas sajtu ili vec necemu trecem. Tvoj izvor daje druge podatke za upit koji vrsis iz browsera pa gledas source, i za upit iz aplikacije. Pogledaj da li to mozes nekako da premostis, da izmenis svoj request na neki nacin.

Imas ovde podesavanja Request headera:
http://stackoverflow.com/questions/6224454/how-to-set-accept-and-accept-language-header-fields
 
Hvala na ideji, sad je ok.

<CODE>
WebRequest req = WebRequest.Create(Url);
req.Headers.Add("Accept-Language", "en-us,en;q=0.5");
</CODE>
 
Nazad
Vrh Dno