Russian Qt Forum

Qt => Общие вопросы => Тема начата: Вячеслав от Март 03, 2007, 22:25



Название: А чем-бы html разобрать ;)
Отправлено: Вячеслав от Март 03, 2007, 22:25
Не хто случаем подобным не занимался ? В смысле пробежаться по html'ке и выдрать из нее данные .. Чего-то лень руками парсер писать .Хотя если не найдуться варианты - придется :(


Название: А чем-бы html разобрать ;)
Отправлено: Racheengel от Март 04, 2007, 01:13
а что конкретно выдрать надо? я писал когда то, но на дельфе еще...


Название: А чем-бы html разобрать ;)
Отправлено: Вячеслав от Март 04, 2007, 18:59
Да есть n страничек с более-менее фиксированой структурой - надо оттуда данне выковарять ....


Название: А чем-бы html разобрать ;)
Отправлено: vipet от Март 04, 2007, 20:44
может быть просто регэкспы подойдут


Название: А чем-бы html разобрать ;)
Отправлено: Вячеслав от Март 04, 2007, 21:38
Оно конечно да ... Но хотить-ся то чего-нибудь типа DOM'а ..... Но таки видать придеться питоновский парсер переписывать ... или питона к проге цеплять ;)


Название: А чем-бы html разобрать ;)
Отправлено: vipet от Март 04, 2007, 21:49
ну DOM - это ж если XHTML, а в HTML может быть что и как угодно


Название: А чем-бы html разобрать ;)
Отправлено: Racheengel от Март 05, 2007, 13:55
а QtXml не рулит никак?


Название: А чем-бы html разобрать ;)
Отправлено: Вячеслав от Март 05, 2007, 23:00
А таки можно ? Он-же вроде только XML жрет ?


Название: А чем-бы html разобрать ;)
Отправлено: noname.pl от Март 05, 2007, 23:39
ну если xml жрет, то html и подавно должен.


Название: А чем-бы html разобрать ;)
Отправлено: Вячеслав от Март 05, 2007, 23:43
щаззз .... хмл требует наличия закрывающего тега а хотэл-имэл дааадеко не всегда :( И страничики довольно веселые .... по офоррмлению


Название: А чем-бы html разобрать ;)
Отправлено: noname.pl от Март 07, 2007, 15:24
и в чем проблема сделать одиночные теги типа <br> вида <br></br> за пять секунд и заюзать XML-обработку?


Название: А чем-бы html разобрать ;)
Отправлено: Вячеслав от Март 07, 2007, 18:55
Это как ? Чтоб сунуть тег </br> на место - это место еще найти надоть ....  А для этого нужно файло разобрать ;) Ну собственно процес переписи питона на с почти закончен - завтрева пробывать буду ;)


Название: А чем-бы html разобрать ;)
Отправлено: Вудруф от Март 07, 2007, 19:31
Тогда уж на <br />, ибо </br> - это совсем дико, а вот закрывающий <td> куда всунуть, как правильно было замечено, ещё найти надо :)


Название: А чем-бы html разобрать ;)
Отправлено: Racheengel от Март 08, 2007, 00:57
Зачем разбирать, чтобы <br> в <br/> сконвертить? QString::replace(), и всех делов-то...
А закрывающий <td> по всем правилам HTML обязан присутствовать... Только <tr> необязательно закрывать.


Название: А чем-бы html разобрать ;)
Отправлено: vipet от Март 08, 2007, 03:28
ну так одно дело правила HTML, а другое дело, что неправильный HTML браузеры могут абсолютно нормально рендерить


Название: А чем-бы html разобрать ;)
Отправлено: Вячеслав от Март 08, 2007, 13:51
Цитата: "Racheengel"
Зачем разбирать, чтобы <br> в <br/> сконвертить? QString::replace(), и всех делов-то...
А закрывающий <td> по всем правилам HTML обязан присутствовать... Только <tr> необязательно закрывать.

Млин .... Совсем на ручник встал .... Спасиб за тык в нужном направлении - завтрева попробую....Хотя с питона код уже передрал ;)


Название: А чем-бы html разобрать ;)
Отправлено: Вудруф от Март 08, 2007, 15:13
Цитировать
А закрывающий <td> по всем правилам HTML обязан присутствовать... Только <tr> необязательно закрывать.

Неужели?
http://www.w3.org/TR/html401/index/elements.html
В колонке End Tag ищите букву O: BODY, COLGROUP, DD, DT, HEAD, HTML, LI, OPTION, P, TBODY, TD, TFOOT, TH, THEAD, TR