Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Ogienko
5 / 5 / 5
Регистрация: 28.11.2014
Сообщений: 40
1

Слетела кодировка при парсинге html-страницы

14.01.2016, 18:56. Просмотров 618. Ответов 2

Здравствуйте!
Начал писать программу которая парсит сайт. В заголовке html-страницы указана следующая кодировка:
HTML5
1
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
Метод, возвращающий html-текст:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 private String GetPage(String url, String referer, String cookies)
        {
            HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
            myHttpWebRequest.Referer = referer;
            myHttpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36 OPR/34.0.2036.47 (Edition Yx)";
            myHttpWebRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
            myHttpWebRequest.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
            myHttpWebRequest.Headers.Add("Accept-Encoding", "gzip, deflate, lzma, sdch");
            myHttpWebRequest.Headers.Add("Upgrade-Insecure-Requests", "1");
            myHttpWebRequest.ContentType = "text/html";
            myHttpWebRequest.Headers.Add(HttpRequestHeader.Cookie, cookies);
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
            StreamReader myStreamReader = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
            return myStreamReader.ReadToEnd();
        }
Некоторое время метод отрабатывал нормально, возвращал html-страницу в нормальной кодировке. Смешное то, что через пару часов стал возвращать, как говорится в народе - "краказябры".

В строке
C#
1
StreamReader myStreamReader = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
Только какие кодировки не ставил, всё равно "краказябры".
Прошу помочь.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2016, 18:56
Ответы с готовыми решениями:

Избавление от &_shy_; при парсинге страницы
Доброго времени суток. Пытаюсь спарсить страницу вот таким вот кодом WebClient wClient = new...

разбинение на страницы при печати HTML Документа
Вопрос конечно не то что бы из области ASP просто проект на нем :) Вообщем есть некий...

Кодировка при парсинге html файла
Доброго времени суток. Подскажите как исправить ошибку, суть такая делаю парсинг страницы, по...

Кракозябры при парсинге страницы
Получаю код страницы. С помощью регулярок извлекаю значение тэга заголовка страницы(&lt;title&gt;). Но в...

Неверное регулярное выражение при парсинге страницы
Имеется страница такой разметки: &lt;tr class=&quot;lutr&quot;&gt; 15 26 37 48 &lt;/tr&gt; &lt;tr class=&quot;lutr&quot;&gt; 1 ...

2
OwenGlendower
Супер-модератор
Эксперт .NET
11513 / 9696 / 4068
Регистрация: 17.03.2014
Сообщений: 19,346
Записей в блоге: 1
Завершенные тесты: 2
14.01.2016, 22:46 2
Ogienko, попробуй данный подход. Там используется WebClient, но его несложно переделать под HttpWebRequest
1
Ogienko
5 / 5 / 5
Регистрация: 28.11.2014
Сообщений: 40
15.01.2016, 10:41  [ТС] 3
Спасибо большое.
0
15.01.2016, 10:41
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2016, 10:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

При парсинге html в string появились коды
Я спарсив сайт, я достал из тега текст. При его выводе некоторые символы отображаются в виде...

Запуск скрипта при парсинге страницы
Есть некоторый сайт с таблицей, которую необходимо пропарсить и записать данные в бд. Таблица...

При получение кода страницы сайта через WebBrowser страдает кодировка
Здравствуйте. Есть сайт с кодировкой koi8-r. При получение кода страницы сайта ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.