C# и HtmlAgilityPack, кодирующий проблему

Это не так сложно, попробуйте это: y & lt; - as.numeric (gsub (",", "", as.character (y))), и если это только один из столбцов, вы можете подмножить его с y $ 2, как показано y $ 2 & lt; - as.numeric (gsub (",", "", as.character (y $ 2)))

23
задан August 10 August 2010 в 18:51
поделиться

5 ответов

На самом деле страница закодирована в UTF-8.

GodLikeHTML.Load(GodLikeClient.OpenRead("http://www.alfa.lt"), Encoding.UTF8);

будет работать.

Или вы можете использовать код из моего ответа SO, который определяет кодировку из заголовков http или метатегов, и перекодирует правильно. (Он также поддерживает gzip для минимизации загрузки).

С классом загрузки ваш код будет выглядеть так:

HttpDownloader downloader = new HttpDownloader("http://www.alfa.lt",null,null);
GodLikeHTML.LoadHtml(downloader.GetPage());
25
ответ дан 29 November 2019 в 01:40
поделиться

У меня были похожие проблемы с кодированием. Я исправил это в самой последней версии HtmlAgilityPack, добавив следующее в мою инициализацию WebClient.

var htmlWeb = new HtmlWeb();
htmlWeb.OverrideEncoding = Encoding.UTF8;
var doc = htmlWeb.Load("www.alfa.lt");
12
ответ дан craastad 29 November 2019 в 01:40
поделиться

UTF8 не работал для меня, но после установки кодировки, подобной этой, большинство страниц, которые я пытался очистить, работали просто хорошо:

web.OverrideEncoding = Encoding.GetEncoding ("ISO-8859-1 ");

Возможно, это может кому-то помочь.

5
ответ дан Tys 29 November 2019 в 01:40
поделиться

Это моё решение

 HttpWebRequest request =(HttpWebRequest)WebRequest.Create("http://www.sina.com.cn");
HttpWebResponse response =(HttpWebResponse)request.GetResponse();
long len = response.ContentLength;
byte[] barr = new byte[len]; 
response.GetResponseStream().Read(barr, 0, (int)len); 
response.Close();
string data = Encoding.UTF8.GetString(barr); 
var encod = doc.DetectEncodingHtml(data);
string convstr = Encoding.Unicode.GetString(Encoding.Convert(encod, Encoding.Unicode, barr));
doc.LoadHtml(convstr);
0
ответ дан eliprodigy 29 November 2019 в 01:40
поделиться

попробуйте изменить это на GodLikeHTML.Load (GodLikeClient.OpenRead ("www.alfa.lt"), Encoding.GetEncoding (1257));

1
ответ дан 29 November 2019 в 01:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: