Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
#1

Парсинг HTML - C++

22.11.2009, 17:33. Просмотров 2501. Ответов 13
Метки нет (Все метки)

Не подскажите, как можно пропарсить HTML файл на чистом C++.
Правильность и адекватность файла гарантируется, теги только самые простейшие. Для форматирования: <i> </i>, <b> </b>, <u> </u>, <pr> и тд.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2009, 17:33     Парсинг HTML
Посмотрите здесь:

C++ Парсинг списка
Парсинг C++
C++ Парсинг
C++ Парсинг шрифтов
C++ Парсинг файла
Рекурсивный парсинг C++
C++ Парсинг html
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
22.11.2009, 17:46     Парсинг HTML #2
берёшь значит html открываешь и парсишь как душе угодно
в чём сложности?
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
22.11.2009, 17:55  [ТС]     Парсинг HTML #3
ну так. я не пойму куда мне положить содержимое тэга для сравнения с истинными.
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
22.11.2009, 18:06     Парсинг HTML #4
заведи переменную типа string и складывай.
можешь считывать из файла пока не встретишь открывающийся тег, все данные до закрывающегося складывай в эту переменную. в С++ это легко и удобно

Добавлено через 1 минуту
или, что лучше всего, конкретизируй вопрос. расплывчато всё. тебе требуется обработка текста. а какая до конца не ясно, что конкретно нужно вытянуть из файла?
cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
22.11.2009, 18:24     Парсинг HTML #5
ЯПрогер там где-то упоминалась библиотека для парсинга хтмл файлов...можешь ещё найти на главной странице...
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
22.11.2009, 18:39  [ТС]     Парсинг HTML #6
или, что лучше всего, конкретизируй вопрос. расплывчато всё. тебе требуется обработка текста. а какая до конца не ясно, что конкретно нужно вытянуть из файла?
необходимо при встрече тэга посылать в другую функцию определенный код.
например, встретился тэг <b> послать код bold. и со всеми так.
cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
22.11.2009, 18:40     Парсинг HTML #7
Цитата Сообщение от fasked Посмотреть сообщение
например, встретился тэг <b> послать код bold.
куда послать???
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
22.11.2009, 18:44  [ТС]     Парсинг HTML #8
куда послать???
посылать в другую функцию определенный код.
cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
22.11.2009, 18:47     Парсинг HTML #9
ищи "<" эт открытие любого тега
потом иши ">" закрытие
берешь слово между ними и анализируешь что Это О_o

всё"!
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
22.11.2009, 18:50     Парсинг HTML #10
C++
1
2
3
4
5
6
7
struct TEXT_HTML 
{
    string str;
    bool bold;
    bool ---- // тут опиши всякие признаки которыми может обладать ещё текст,
                        // если он брамлён не одним тегом
};
и встретил тег установил флаг (не забудь их изначально сбросить) в итоге,
когда теги закроются будешь передовать структуру и по установленным флагам
анализировать чего там у тебя с текстом

Добавлено через 1 минуту
Цитата Сообщение от cristaloleg Посмотреть сообщение
ищи "<" эт открытие любого тега
потом иши ">" закрытие
берешь слово между ними и анализируешь что Это О_o

всё"!
лучше сразу анализировать теги, тоесть искать <b> а не <, > поотдельности
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
23.11.2009, 09:54  [ТС]     Парсинг HTML #11
а без std обойтись как-нибудь можно?
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
23.11.2009, 11:42     Парсинг HTML #12
конечно можно, тока это примерно как крутить педали на велосипеде, чтобы доехать до цели, когда в гараже машина стоит. с одной стороны, крутить педали полезно для оганизма, а с другой, ну на фига так напрягаться, если достаточно выучить как скорости переключать.
короче, заводи... быстрее будет
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
23.11.2009, 11:52  [ТС]     Парсинг HTML #13
собственно в этом у меня и была проблема.
не знаю разрешат ли пользоваться std. как бы general c++ просто, вот я и в сомнениях))..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2009, 13:34     Парсинг HTML
Еще ссылки по теме:

C++ Правила вложенности тегов html (html разметка на С++)
C++ Перевести обычный файл в HTML, добавив соответствующие HTML-теги
C++ Парсинг html - Вывод всех ссылок с их текстовыми полями
C++ Парсинг

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

Или воспользуйтесь поиском по форуму:
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
23.11.2009, 13:34     Парсинг HTML #14
fasked,

как бы general c++ просто, вот я и в сомнениях))..

используй функции из заголовочного файла string.h: strchr, strstr и пр.

Добавлено через 1 минуту
PS. парсинг при использование old-way стиля гарантированно доставит тебе маccу новых эротических впечатлений. enjoy
Yandex
Объявления
23.11.2009, 13:34     Парсинг HTML
Ответ Создать тему
Опции темы

Текущее время: 14:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru