X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Помогите с парсингом HTML и регулярными выражениями
McSender
McSender
Topic Starter сообщение 10.7.2013, 22:13; Ответить: McSender
Сообщение #1


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

<div class="t_i_i t_i_payed t_i_transport t_i_cat_109">
   <div class="t_i_data t_i_d_one">
  </div>

<div class="l_i_price"> <p>
  <span>619&nbsp;500</span> <span>р.</span>
   </p> </div>
  <div class="ext_params">
    <div class="t_i_engine">1.2 АТ</div>
    <div class="t_i_bodytype">хетчбэк</div> </div>

<div class="t_i_date">
Сегодня
<span class="t_i_time">16:47</span> </div> <div class="t_i_photo">
  <a href="/moskva/novye_avtomobili/suzuki_swift_1.2_at_144963966" class="l_i_many" title="5 фотографий"> </a>
  </div>
     <div class="t_i_title"> <h3 class="t_i_h3"> <a class="icon-link second-link" name="144963966" href="/moskva/novye_avtomobili/suzuki_swift_1.2_at_144963966" title="Suzuki Swift 1.2&nbsp;АТ, хетчбэк в Москве"> <span>Suzuki Swift</span> </a> <i class="t_i_t"><i class="t_i_t_s"><i class="t_i_t_s">&nbsp;</i></i></i> </h3> </div>

</div>


С помощью preg_match_all надо вытащить следующие переменные:

1. 619&nbsp;500
2. /moskva/novye_avtomobili/suzuki_swift_1.2_at_144963966
3. Suzuki Swift
4. Сегодня
5. 16:47

Причём это надо вытаскивать только из того div'а, где есть слово "t_i_payed" в class=''

Помогите пожалуйста, кто как может ...


--------------------
Раздаём подарки всем за покупку 1С-Битрикс!

Вы посредник? Тогда подарки Ваши !
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 10.7.2013, 22:28; Ответить: x64
Сообщение #2


крайне рекомендую библиотеку phpQuery
регулярные выражения чрезвычайно мощная и замечательная штука, но для полноценного парсинга *ml они, увы, подходят плохо.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
McSender
McSender
Topic Starter сообщение 10.7.2013, 23:19; Ответить: McSender
Сообщение #3


Извините, мне бы классикой жанра ... что-то новое изучать нет времени


--------------------
Раздаём подарки всем за покупку 1С-Битрикс!

Вы посредник? Тогда подарки Ваши !
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 10.7.2013, 23:22; Ответить: x64
Сообщение #4


facepalm.gif
вот так советуешь людям оптимальный способ, а им всенепременно надо на жопу приключений найти. знаете синтаксис css? значит, легко можно работать с селекторами в jQuery или phpQuery.
а если не знаете, то будьте честны перед собой: вас явно переоценили, когда брали на работу.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
McSender
McSender
Topic Starter сообщение 10.7.2013, 23:32; Ответить: McSender
Сообщение #5


Хорошо, Вы можете мне пример привести .. например вытащит название авто ?


--------------------
Раздаём подарки всем за покупку 1С-Битрикс!

Вы посредник? Тогда подарки Ваши !
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 10.7.2013, 23:40; Ответить: x64
Сообщение #6


вы основные принципы css знаете хоть? для шарящего это пару дней на плотное изучение. после чего день на jQuery и, как побочный эффект, узнаём phpQuery.
вывод содержимого всех элементов div.t_i_payed > .t_i_engine (конкретно если — innerHTML в javascript)
$doc = phpQuery::newDocumentFileHTML($html_file);
$divs = $doc->find('div.t_i_payed');
foreach ($divs as $div) {
    echo pq('>.t_i_engine', $div)->html() . "<br>\n";
}


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


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Чеснок
Чеснок
сообщение 10.7.2013, 23:49; Ответить: Чеснок
Сообщение #7


x64, для того, что
Работаю первый день на новом месте
У него нет 4 дней на изучение, ему завтра нужно показать что его не зря взяли. В процессе научится )


--------------------
Забанен за мошенничество
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
McSender
McSender
Topic Starter сообщение 11.7.2013, 5:08; Ответить: McSender
Сообщение #8


Чеснок, да .. я уж тут прошу помощи, потому что срочно надо

x64, Ваши код попробовал .. просидел полночи .. ничего не работает, пойду спать ((((

Вот так заработало !!! Спасибо, 64-битный !

include("phpQuery-onefile.php");
$html_file = "new.html";
$doc = phpQuery::newDocumentFileHTML($html_file);

foreach(pq('div.t_i_payed') as $payed):
    echo pq('.t_i_engine', $payed)->html() . "<br>\n";
endforeach;


--------------------
Раздаём подарки всем за покупку 1С-Битрикс!

Вы посредник? Тогда подарки Ваши !
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 11.7.2013, 8:06; Ответить: x64
Сообщение #9


McSender,
ну вот видите, какой вы на самом деле умничка.
дальнейший парсинг станет теперь занятием если и не лёгким, то философским. удачи!


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
сообщение 11.7.2013, 20:40; Ответить: andreykashops
Сообщение #10


Пардон, но Вы пытались парсить по коду x64? Реально, меня улыбнуло: найти то, неизвестно где... (:


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Вёрстка HTML-писем
30 Vampler 29355 27.3.2024, 12:41
автор: Vampler
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 725 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Разработка/доработка сайтов Wordpress, HTML/CSS/JS
Вёрстка, перенос на WP, правки
9 malamut 3459 25.1.2024, 14:36
автор: malamut
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3398 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Залить html страницу на 20 доменов
6 TABAK 1705 22.5.2023, 16:24
автор: KORUP


 



RSS Текстовая версия Сейчас: 19.4.2024, 15:40
Дизайн