Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 11

Составление регулярных выражений. Распарсить HTML-страницу

15.01.2014, 23:17. Показов 1704. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! Этой темы касаюсь впервые, а так как опыта программирования мало никак не могу самостоятельно понять, поэтому прошу помощи у более опытных программистов. И так, в чем, собственно суть вопроса:
есть страница html, с неё надо вытащить данные. Я получаю строку, в которой содержится html-код. Из неё надо извлечь необходимые данные.

Вот кусок кода страницы, которую надо проанализировать (жирным выделяю нужные мне данные:


Код
<div class="item c-b-3" id="i256918931"> <div class="date">
Сегодня
<span class="time">22:09</span> </div>

<div class="b-photo b-photo-m">
<a class="photo-wrapper" href="ссылка" title="Объявление &laquo;Toyota Corolla, 2011&raquo; (7 фотографий)">
<img src="ссылка.jpg" alt="Toyota Corolla, 2011" />
</a>
</div> <div class="description"> <h3 class="title"> <a href="ссылка2" title="Toyota Corolla, 2011 в Краснодаре">
Toyota Corolla, 2011</a> </h3>
<div class="about">
<span>640&nbsp;000</span> <span>руб.</span>
<span class="params area">
<span>1.6 МТ </span>
<span>седан</span> <span>40 000 км</span> </span>
</div>


Т.е. подытожу - нужно из всей страницы выделить приведенный выше кусок, а так же ему подобные, и из него вытянуть параметры выделенные жирным...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2014, 23:17
Ответы с готовыми решениями:

Распарсить Html с помощью регулярных выражений
Здравствуйте,вроде есть много всего по данной теме,но вопрос остался. Нужно с помощью регулярных выражения вытащить данные из тэга body...

Распарсить текстовую конструкцию с помощью регулярных выражений
Добрых времени суток. Есть текст такого вида: Группа СУА-10() { Иванов И.И.(математика 5, английский 4, история 5); Петров...

Парсинг HTML с помощью регулярных выражений
имеем строку(вернее табличку): &lt;table class=&quot;mesview&quot; &gt;&lt;tr&gt;&lt;td&gt;Тип сообщения&lt;/td&gt;&lt;td&gt;О стоимости чистых...

6
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
15.01.2014, 23:59
Например, чтобы достать все, что между тегами можно сделать так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
 
        string pattern = @">(.+?)</?";
        string text = "<span>седан</span> <span>40 000 км</span> </span>"; 
        Regex newReg = new Regex(pattern);  
        MatchCollection matches = newReg.Matches(text);
        foreach(Match mat in matches)
        {
            Console.WriteLine("Значение найденного обьекта {0}",mat.Groups[1].Value);
        }
        Console.WriteLine("Число найденных совпадений{0}",matches.Count);
 
        Console.Read();    
        }
 
       
       
    }
}
0
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 11
16.01.2014, 00:05  [ТС]
А поясните пожалуйста логику составления регулярных выражений, а именно: string pattern = @">(.+?)</?";
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
16.01.2014, 00:11
Прочтите вот эту статью на хабре.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
16.01.2014, 00:21
Да-да, там отличная ссылка в первом комментарии
0
14 / 14 / 3
Регистрация: 07.01.2014
Сообщений: 37
16.01.2014, 08:45
Немного запутался =)
Цитата Сообщение от xoraxax Посмотреть сообщение
Да-да, там отличная ссылка в первом комментарии
Получается применение регулярных выражений не совсем правильно к данной задаче, и лучше использовать готовые библиотеке которые были упомянуты в статье на хабре?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
16.01.2014, 10:01
Ну, на мой взгляд, если данных надо не очень много, то можно и так вытащить. Просто разбирать сложные странички регулярками - тот еще геморрой. Попробуйте разные варианты, выберите понравившийся =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.01.2014, 10:01
Помогаю со студенческими работами здесь

Получение цены из кода HTML с помощью регулярных выражений
&lt;td class=&quot;price&quot;&gt; 8800 руб. &lt;/td&gt; var UpdExp = new Regex(@&quot;(?&lt;=&lt;td class=&quot;&quot;price&quot;&quot;&gt;)+(?=&lt;/td&gt;)&quot;); как вытащить мне...

Как спарсить строку HTML кода с помощью регулярных выражений
Имеется вот такой HTML код: &lt;a class=&quot;number-figures float-left phone-float-none&quot; href=&quot;http://test1.ru/lol&quot;&gt;&lt;b...

Распарсить HTML страницу
Здрям! На форме будут размещен элемент webBrowser и через него буду открывать страницу. Код страницы выглядит так: &lt;tr&gt; ...

Распарсить HTML-страницу
например я Напишу страницу в техбох1 а при нажатие на кнопки спарсить он должен загрузить себе весь код страницы а потом выбрать все...

Распарсить локальную HTML-страницу
Привет ! Я вот только начинаю знакомство с языком C#.. Хочу спросить у вас, с помощью каких операций и классов лучше реализовать следующие...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru