Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Парсер

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Foster
Отправлено: 01 Ноября, 2010 - 16:32:00
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Есть веб страничка http://shop[dot]themountain[dot]me/categ[dot][dot][dot]s/Mountain-Life/

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

PHP:
скопировать код в буфер обмена
  1. $p1 = preg_match_all('#(<img src="(?:.+)" alt="(.+)" />)</a>#', $resp, $img );
  2.          $p2 = preg_match_all('#<em>\$(.+)</em>#', $resp, $many );
  3.          $p4 = preg_match_all('#<strong><a href="(.+)" class="">#', $resp, $link );
  4.          $p5 = preg_match_all('#pr_page_id : "(.+)" #', $resp, $name );
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Ноября, 2010 - 17:37:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Гдето в середине хтмл-исходника (насколько я бегло понял) тот самый центральный блок:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <ul class="ProductList ">
  2.                                                         <li class="Odd">
  3.  

Вот до всех ваших матчей нужно еще залететь только в этот блок - сделать сперва $p0
 
 Top
Foster
Отправлено: 01 Ноября, 2010 - 18:50:11
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Я помнимаю где нужный мне участок находится, вопрос в том как мне его выделить? Если бы нужный участок когда был обрамлен одинаковыми тегами то я без труда бы использовал к примеру функцию explode, а как быть в этой ситуации не знаю
(Добавление)
Помогите скрипт доработать, заплачу. ICQ 2666159
 
 Top
HotBird
Отправлено: 01 Ноября, 2010 - 21:21:54
Post Id



Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010  


Помог: 2 раз(а)




А если сделать два explode ? Один по <ul class="ProductList "> а другой по <li class="Odd">


-----
Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев.
Качественный хостинг по доступной цене
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Ноября, 2010 - 21:56:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Это верхняя часть начала списка... если есть <ul class="ProductList "> значит есть и </ul> вот там то и список весь ))))) как это нет парных тегов??? иначе бы сайт разьезжался )))

preg_match("/<ul class="ProductList ">(.*)<\/ul>/",$resp,$mathes)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB