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



 

Здравствуйте, гость ( Вход | Регистрация )

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


Участник
***

Группа: User
Сообщений: 196
Регистрация: 10.3.2011
Поблагодарили: 29 раз
Репутация:   3  


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

<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


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3421
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2740 раз
Репутация:   289  


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


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
McSender
McSender
Topic Starter сообщение 10.7.2013, 23:19; Ответить: McSender
Сообщение #3


Участник
***

Группа: User
Сообщений: 196
Регистрация: 10.3.2011
Поблагодарили: 29 раз
Репутация:   3  


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


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

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


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3421
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2740 раз
Репутация:   289  


facepalm.gif
вот так советуешь людям оптимальный способ, а им всенепременно надо на жопу приключений найти. знаете синтаксис css? значит, легко можно работать с селекторами в jQuery или phpQuery.
а если не знаете, то будьте честны перед собой: вас явно переоценили, когда брали на работу.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
McSender
McSender
Topic Starter сообщение 10.7.2013, 23:32; Ответить: McSender
Сообщение #5


Участник
***

Группа: User
Сообщений: 196
Регистрация: 10.3.2011
Поблагодарили: 29 раз
Репутация:   3  


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


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

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


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3421
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2740 раз
Репутация:   289  


вы основные принципы 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


мошенник
*******


Группа: Banned
Сообщений: 3623
Регистрация: 9.12.2009
Из: СССР ☭
Поблагодарили: 1520 раз
Репутация:   262  


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


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


Участник
***

Группа: User
Сообщений: 196
Регистрация: 10.3.2011
Поблагодарили: 29 раз
Репутация:   3  


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

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


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3421
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2740 раз
Репутация:   289  


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


--------------------


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


WordPress is my Life..
******

Группа: Active User
Сообщений: 1426
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите выбрать программу
Помогите выбрать программу
11 impak 1317 Вчера, 13:11
автор: Mikki
Открытая тема (нет новых ответов) Вёрстка. Per aspera ad html.
С радостью принимаю заказы по вёрстке.
3 ValeryRar 429 1.12.2017, 11:02
автор: ValeryRar
Открытая тема (нет новых ответов) Исправлю HTML ошибки на страницах Вашего сайта
10 guruapps 1162 30.11.2017, 22:59
автор: maxim1249
Открытая тема (нет новых ответов) Помогите найти плагин на WP
Отзывы с профилей соц сетей
1 SEOMR 429 30.11.2017, 7:18
автор: Nell
Открытая тема (нет новых ответов) Помогите найти проблему
Долгий ответ сервера
6 maxim1249 666 29.11.2017, 17:27
автор: genjnat


 



RSS Текстовая версия Сейчас: 12.12.2017, 7:05
Дизайн