школа английского ульяновск
инженерно технический центр специальных работ Архив за месяц: Сентябрь 2012 Парсим файлы используя phpQuery (продолжение) Опубликовано 25.09.2012 Автор admin Данная статья является продолжением статьи Парсим файлы используя phpQuery . Это была совсем простая статья, поэтому я решил представить слегка расширенный вариант. Ниже представлена полностью рабочая функция парсинга сайта merlion.ru. include(`phpQuery/phpQuery.php`); function get_good_property($aproduct_id) { $ffilename = "http://www.merlion.ru/goods/catalog/product/".$aproduct_id."/"; phpQuery::newDocumentFileHTML($ffilename); $fresult = Array(); // Для каждого "tr" во второй таблице "table" с классом "text" заполняем массив $fresult foreach (pq(`table.text:eq(1)`)->find(`tr`) as $value){ $fres_descr = mb_convert_encoding(pq($value)->find(`div.prop_descr`)->remove()->html(), `UTF-8`, `CP1251`); $fres_name = trim(pq($value)->find(`td:first`)->text()); $fres_value = trim(pq($value)->find(`td:last`)->text()); $fresult[] = Array ("NAME" => $fres_name, "DESCRIPTION" => $fres_descr, "VALUE" => $fres_value); } // Убиваем использованные переменные unset($fres_name); unset($fres_value); unset($fres_descr); unset($ffilename); return $fresult; } // вызов функции с параметром $farr = get_good_property("630661"); Функция pq(‘table.text:eq(1)’)->find(‘tr’) возвращает массив строк «tr» во второй таблице «table» с классом «text». Обратите внимание на селектор «:eq(1)» Далее для каждого элемента этого массива мы производим дальнейший разбор каждой строки:Функция pq($value)->find(‘div.prop_descr’)->remove()->html() делает 2 вещи: Возвращает из строки «div» с классом «prop_descr». Из $value удаляет вышеописанный «div» Функция trim(pq($value)->find(‘td:first’)->text()) возвращает первое вхождение элемента «td», обратите внимание на селектор «:first» . Функция trim(pq($value)->find(‘td:last’)->text()) возвращает последнее вхождение элемента «td», обратите внимание на селектор «:last» . Инструкция по техобслуживанию легковых машин Опель Астра Г вот тут |