powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Разложить *.html
12 сообщений из 12, страница 1 из 1
Разложить *.html
    #32939983
DenDer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.

Начну с упрощенной задачи: есть сайт, на котором раз-два в день появляется новая страница с обновленным блоком какой-то информации. Страницы стандартные, а вот блоки с инфой разные. Нужно раз в одну-две недели обработать эту пачку *.html на эти блоки - выковырять и сложить в базу.

Блоки с инфой находятся между определенными тегами. Если бы это были файлы XML, то пользуемся классом XMLTextReader и все получается "как дети в школу". А как быть с *.html?

Можна, конечно, загнать в какой-нить Stream как обыкновенный текстовик и перелопатить весь текст документа, но вот стоит ли? Может есть специализированное средство?
Я вот пока не нашел, но в Делфи точно есть - реализуется через IMoniker.
Но мне нужен С#.

Заранее спасибо.
...
Рейтинг: 0 / 0
Разложить *.html
    #32939996
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DenDerА как быть с *.html?
Можна, конечно, загнать в какой-нить Stream как обыкновенный текстовик и перелопатить весь текст документа, но вот стоит ли? Может есть специализированное средство?
"родных" средств для парсинга html в .net пока нет, а разбирать руками не "well-formed" документ - занятие очень неблагодарное (обычно его забрасывают после обнаружения очередного тэга, который явно не закрывается).

как один из вариантов - подключи к references проекта COM-библиотеку "Microsoft HTML Object Library", и используй ее для разбора html страниц (+ HttpWebRequest/HttpWebResponse для получения текста html).

если есть GUI, то можно для этих же целей использовать и WebBrowser (после загрузки страницы получить из него тот же разобранный документ).

есть средства и сторонних разработчиков для разбора html.

<imho>
скоро станем спецами по Delphi - в последнее время очень много разработчиков переходит на C# (и это плюс), но что ни вопрос, то: "а вот в Delphi можно так ..." (и это минус)
</imho>
...
Рейтинг: 0 / 0
Разложить *.html
    #32941045
DenDer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 кузя

Может я не прав, что в одном форуме вспоминаю про другое, но это не потому что я "хоть что-то знаю". Просто эта штука мне действительно нужна. А вдруг здесь есть это же, только называется по другому, типа там MSMoniker или что-то подобное, и кого-то это наведет на мысль...........

Спасибо за совет.
...
Рейтинг: 0 / 0
Разложить *.html
    #32942550
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может регулярное выражение составить?
...
Рейтинг: 0 / 0
Разложить *.html
    #32942553
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<imho>
на сколько страниц текста это "выражение" потянет ?
одних непечатных слов - не меньше сотни :)
</imho>
...
Рейтинг: 0 / 0
Разложить *.html
    #32942555
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот посмотри на реулярное выражение, только для проверки правильности задания e-mail по RFC 822
спецификация RFC 822
...
Рейтинг: 0 / 0
Разложить *.html
    #32943108
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кузявот посмотри на реулярное выражение, только для проверки правильности задания e-mail по RFC 822
спецификация RFC 822

нихрена сибе, а что это за RFC 822?
...
Рейтинг: 0 / 0
Разложить *.html
    #32943325
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RFC 822 - это рекомендации (читай, стандарт) на формат полей текстового сообщения (e-mail).

www.w3.org/Protocols/rfc822
...
Рейтинг: 0 / 0
Разложить *.html
    #32943674
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет, тут же проще, тут вариантов не так много:)

что-то типа <title>([\w\s]*)</title>

выудит заголовок, потом нужно теги отрезать
...
Рейтинг: 0 / 0
Разложить *.html
    #32943681
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и все прекрасно работает для well-formed

а если нет нужных тегов ?
...
Рейтинг: 0 / 0
Разложить *.html
    #32943748
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если файл бинарный как тогда быть? :))

всего лишь не найдет ничего, вот и все
...
Рейтинг: 0 / 0
Разложить *.html
    #32943847
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во :)

поэтому чтобы не париться с этим каждый раз, и берут готовое.
не нравится Com-interop, можно найти чисто managed библиотеки.
например, из бесплатных - слышал неплохие отзывы о Sgml Reader
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Разложить *.html
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]