Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> парсинг html c помощью regex, либо с помощью специализированнх либ 
:(
    Опции темы
wester
Дата 4.2.2011, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



Доброго времени суток, 
требуется совет - как обработать html максимально быстро
файл примерно 15000 - 20000 символов.

варианты - любимые регулярные выражения либо специальные библиотеки вроде HTMLAgilityPack 
html является полностью валидным и потому проблем не должно возникнуть на этапе чтения

задался этим вопросом, потому как, нормальная регулярка со всеми условиями будет около 300 символов, а мне уже лень ее набирать smile

Это сообщение отредактировал(а) wester - 4.2.2011, 02:30
PM MAIL   Вверх
Bestoloch
  Дата 4.2.2011, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 29.6.2009

Репутация: нет
Всего: нет



Если вы не знакомы с тем как работают регулярные выражения, то возможно после прочтения этой статьи, вам еще больше пере хочется это делать.
А вообще можно попробовать работать с html как с xml (LINQ to XML), только возможно придется привести валидный html к валидному xml.
PM MAIL   Вверх
jonie
Дата 4.2.2011, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



http://htmlagilitypack.codeplex.com/ берите и парсите


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
wester
Дата 4.2.2011, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



Bestoloch, 
jonie, 
вопрос в том, что быстрее - регулярки , либо специальные либы по парсингу html

расскажу задачу чуть подробнее - скачивается страница с использованием HttpWebRequest, с присоединенной кукой
после того как файл скачался, я парсю его регуляркой извлекая нужную часть. Потом я регуляркой удаляю содержимое тэга  <div class="news" /> и его самого . и только потом к измененному фрагменту я добавляю два закрывающих тэга, и возвращаю значение. 

Это сообщение отредактировал(а) wester - 4.2.2011, 19:32
PM MAIL   Вверх
Bestoloch
Дата 4.2.2011, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 29.6.2009

Репутация: нет
Всего: нет



В первой статье которую я привел, как раз упоминается о том, что разные (по написанию) регулярные выражения, но выдающие одинаковый результат могут выполнятся за разное время, то есть может быстро отработать, а может и на оборот. Все зависит от ваших знаний.

Для сравнения скорости выполнения различных вариантов, вы можете просто замерить скорость выполнения каждого: либо самому в начале и конце выполнения писать время либо воспользоваться JetBrains dotTrace Performance 4.0 или еще чем-нибудь.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.