Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2010, 00:26   #1
Sergionix
 
Регистрация: 05.05.2010
Сообщений: 3
По умолчанию И снова парсинг

Доброго времени!
В переменной string хранится html код страницы http://www.illuzion.ru/program/russia/ Нужно распарсить таблицу с дальнейшим занесением в бд. Я начинающий, поэтому сильно не пинайте, а лучше помогите конструктивно решить проблему.
Sergionix вне форума Ответить с цитированием
Старый 23.05.2010, 00:29   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

примеров парсинга очень много, я лично писал их не мало.
вот если бы вы выложили ваши попытки то это иное дело.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.05.2010, 01:11   #3
Sergionix
 
Регистрация: 05.05.2010
Сообщений: 3
По умолчанию

Я пока новичок и особо не обладаю... Пару дней назад я знал чего хочу и совсем не знал с чего начать, по-сему все что я сделал пока, это научился добывать необходимый мне html код разными способами (idhttp, twebbrowser), а вот парсить его, для меня это кажется пока непосильной задачей... по приведенной выше ссыли мне нужно выдернуть данные из таблицы (время сеанса, название фильма, стоимость билетов и т.д) и вписать результаты в БД через адо, хотя с последним разберусь сам. Сейчас изучаю регулярные выражения, думаю на правильном пути... еще установил JVCL, но мне пока еще не ясно как работать с jvHTMLParser (только начал разбираться), а самое главное надеюсь на вашу помощь, желательно в примерах.
Sergionix вне форума Ответить с цитированием
Старый 16.08.2011, 01:54   #4
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

итак, план таков:

данные, которые вам нужны, поскольку это html-таблица, они полюбому
заключены между какими-то тегами html, как минимум <td></td>,
но теги могут быть по-разному написаны, например <td border=1></td>,
тот же <td></td>, но строка уже другая.

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

самый простой способ для вас - выяснить между какими тегами сидит нужная вам информация.
по-идее для этого нужно хорошо знать html, но если проявить смекалку,
то можно обойтись минимальными знаниями.
как это сделать: html-текст, который вы получили сохраняете в *.htm,
открываете его в браузере и в блокноте.
в браузере копируете нужный вам текст, например название фильма "Превед-Медвед!"
и ищете это сочетание в html-тексте, который вы открыли в блокноте.
и в том тексте, среди прочего хлама вы найдете например такую строку:
<tr><td><style=movie>Превед-Медвед!</style></td><td><style=price>500р</style></td></tr>
то что вы искали будет выделено.
напомню что то, что что вы найдете в тексте зависит от креативности создателей сайта.
в моем случае нужная вам информация заключена между тегами
название фильма - <style=movie> и </style>
цена - <style=price> и </style>
в вашем случае будут другие теги, но смысл такой же.

а дальше забудьте что перед вами html, вооружитесь функциями по работе со строками и дерзайте! =)

будет сложнее, если создатели сайта черезчур креативные и теги постоянно меняются -
тогда вам остается либо подстраиваться каждый раз под новые теги,
либо писать что-то более универсальное.

что-то мне подсказывает, что вам будет проще подстраиваться...
xrob вне форума Ответить с цитированием
Старый 16.08.2011, 13:07   #5
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

В Советской России таблицы верстают блоками

Код:
<div class="program-date"></div>

<div class="program-time-table">

    <div class="program-info">
        <div class="hall">
        <div class="seat">
        <div class="seat">
        <div class="seat">
    </div>
    
    <div class="program-seans">
        <div class="time">
        <div class="film">
        <div class="cost-body">
    </div>
    
    <div class="program-seans">
        <div class="time">
        [...]

</div>
Вообще содержимое <div class="innertube"> похоже на валидный XML, можно заюзать OmniXML+xPath
пыщь
JTG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг статистики Shouldercannon Работа с сетью в Delphi 1 31.01.2010 11:53
MDIChild снова и снова... Siber_Dec Общие вопросы Delphi 2 13.12.2009 03:24
снова про парсинг spl1nter Работа с сетью в Delphi 4 02.12.2009 22:45
Парсинг сайта AnToHa-KiLL Общие вопросы Delphi 3 30.06.2009 08:22
HTML Парсинг BaikalLord Помощь студентам 5 15.12.2008 08:20