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

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

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

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

Заранее спасибо.
...
Рейтинг: 0 / 0
02.03.2005, 01:43
    #32939996
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разложить *.html
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
02.03.2005, 13:38
    #32941045
DenDer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разложить *.html
2 кузя

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

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

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

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

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

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

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

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

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


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