Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/32: Рейтинг темы: голосов - 32, средняя оценка - 4.50
9 / 9 / 4
Регистрация: 14.02.2012
Сообщений: 49

Парсинг HTML

03.07.2012, 19:38. Показов 6342. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо представить HTML код в естественном виде, исключительно текстом. Каким способом лучше всего заменить специальные символы HTML? (подобные символы).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.07.2012, 19:38
Ответы с готовыми решениями:

Парсинг html
Собственно с регулярками я разобрался, но возникает другой вопрос: есть такой html код: <tr> <td...

Парсинг HTML. Получение "правильного" html
Приветствую. Очевидно, парсю странички. Бигдата, разные сайты. Необходимо без использования webbrowser получить код с выполненными...

Парсинг HTML страниц
Привет, посоветуйте хорошие ресурсы/гайды/книги для изучения парсинга HTML страниц на c#. А то нигде не могу хорошо структурированной инфы...

10
3 / 3 / 0
Регистрация: 16.01.2012
Сообщений: 105
03.07.2012, 21:51
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// для таймера Start
private int i = 10;
//для таймера End
 
//В инстоляцию если при запуске над а если нет то в начало исполнения start
this.textBox.Text = this.FUNC();
//В инстоляцию если при запуске над а если нет то в начало исполнения end
 
private string FUNC()
        {
            string url = ip;
            string html = string.Empty;
            string pattern = "<i>Урок - (.*)</i><br>"; //string pattern = "ТОЧНЫЕ ДАННЫЕ ПЕРЕД(.*)ТОЧНЫЕ ДАННЫЕ ПОСЛЕ";
 
            HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(url);
            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
            StreamReader sr = new StreamReader(myResponse.GetResponseStream(), Encoding.GetEncoding(1251));
            html = sr.ReadToEnd();
 
            Match res;
            res = Regex.Match(html, pattern);
            return res.Groups[1].ToString();
 
        }
// если нужно что бы обновлялось с интервалом то создаёшь таймер и создаёшь событие и в него суёшь
 
 
i--;
            if (i == 0)
            {
                this.textBox.Text = this.FUNC();
                i = 10;
            }
//и выглядить событие будет так
private void timer1_Tick_1(object sender, EventArgs e)
//        {
//
//            i--;
//            if (i == 0)
//            {
//                this.textBox.Text = this.FUNC();
//                i = 10;
//            }
//        }


Ну вот как то так..... если помог то спс тыкни.....
Как понял так и помог... Лично вытаскиваешь код страници а дальше делаешь с ним чё как знаешь.
2
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
03.07.2012, 22:00
Можно попробовать читать страницу в другой кодировке, в частности в UTF8
1
24 / 23 / 3
Регистрация: 21.04.2012
Сообщений: 253
03.07.2012, 22:14
C#
1
string cleanText = Regex.Replace(htmlText, @"<(.|\n)*?>", string.Empty);
Советуют вот такое выражение
1
9 / 9 / 4
Регистрация: 14.02.2012
Сообщений: 49
03.07.2012, 22:16  [ТС]
SkoT, нет не помог, но спасибо, плюсану все равно, мне не жалко, за то, что заморочился. Меня интересовала именно идея к примеру сделать при помощи хэш таблиц (если так, то какой хэш функцией пользоваться, да и вообще кажется вариант не очень, строки много памяти занимают, а тут строк много получилось бы), либо при помощи автоматов делать (тогда граф походу надо бы построить?).

Yukikaze класс интересный, даже очень, но он в ASP имеет такой функционал, в вин формах нет большого количества классов и пр-в имен. Но спасибо.

Добавлено через 1 минуту
Цитата Сообщение от Tweekaz Посмотреть сообщение
C#
1
string cleanText = Regex.Replace(htmlText, @"<(.|\n)*?>", string.Empty);
Советуют вот такое выражение
меня интересует преобразование символов по ссылке в первом посте
0
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
03.07.2012, 22:44
accountyarik, перечитал вопрос, понял что посоветовал фигню
и опять перчитал...
WebUtility.HtmlDecode
1
9 / 9 / 4
Регистрация: 14.02.2012
Сообщений: 49
03.07.2012, 22:53  [ТС]
Yukikaze, не, вообще совет был хороший, просто библиотека не к винформам относится, а ссылку как я понимаю нельзя добавить на длл из ASP, да и наверно необходимо что бы в при установке фреймворка были установлены компоненты от ASP, аэто накладывает некоторые ограничения. Вся сутьвопроса в том что я скачиваю html код, это не совсем страница, поэтому она представлена в упрощенном ввиде и полноценный парсинг производить мне не требуется, нахожу текст, который мне надо оставить, удаляю лишниу теги, некоторые типа <dr> заменяю, и в тексте остается символы типа &nbsp;. наиболее специфичные символы которые мне требуются я заменяю остальные опять же удаляю. Вопрос был вообще ориентирован на то, что бы я представлял как лучше реализовать замену подобных символов, что бы это было достаточно быстро. В контексте задачи которая стоит передо мной, мне достаточно того что уже есть, просто может случится что решат в тексте к примеру поставить знак евро, а моя программа их будет удалять и смысл потеряется, и вот неплохо бы реализовать полную замену подобных символом на символы им соответствующие в естественном виде.
0
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
03.07.2012, 23:06
accountyarik, последняя ссылка как раз про это, правда под 4 фреймворк
ЗЫ Библиотеки из АСП можно подавить в вин форм, для этого надо Добавить ссылку -> вкладка .NET и там уже искать нужную
0
9 / 9 / 4
Регистрация: 14.02.2012
Сообщений: 49
03.07.2012, 23:13  [ТС]
вот я как раз и не нашел ссылки нужной, они там не разделяются ведь на асп и вин форм, и там и там есть пространство имен System.Net, при этом в одном одни классы а в другом другие.
0
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
03.07.2012, 23:20
accountyarik,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System.Windows.Forms;
using System.Net;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            MessageBox.Show(WebUtility.HtmlDecode("&nbsp;"));
        }
    }
}
2
9 / 9 / 4
Регистрация: 14.02.2012
Сообщений: 49
03.07.2012, 23:28  [ТС]
действительно, согласен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.07.2012, 23:28
Помогаю со студенческими работами здесь

Парсинг html тегов
Нужно спарсить тег, например: ******** &lt;div&gt;текст текст&lt;/div&gt; ******** Использую регулярное выражение...

Парсинг зашифрованной HTML
Возникла задача парсинга страниц HTML! С самим парсингом всё понятно, но наткнулся на строку с таким кодом после выполнения string html =...

Парсинг html многосточний
если строка &lt;td class=&quot;cell_c&quot;&gt;Привет&lt;/td&gt; можна реализовать string pattern =&quot;&lt;td class=\&quot;cell_c\&quot;&gt;(.*)&lt;/td&gt;&quot;; //где...

Некорректный парсинг html страницы
Добрых времени суток. По этому адресу тык нужно выбрать все что находится в теге &lt;div class=&quot;market_listing_buy_button&quot;&gt;...

Парсинг html документа с js кодом
Здравствуйте, Возникла задача вытащить из кода &lt;script language=&quot;JavaScript1.2&quot; type=&quot;text/javascript&quot;&gt; qwer=screen1; ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru