@ganjo888

Как сделать чтобы парсилась постраничная навигация, используя phpquery?

Подскажите, как сделать чтобы парсилась постраничная навигация. Переменная $next содержит ссылку на след страницы.

function parseProduct($mysqli){
$products = $mysqli->query( "SELECT * FROM categories WHERE Parent_sub_ID > 0  " );

foreach ($products as $tovar) {
    $product_Url = 'http://happygifts.ru' . $tovar['url'];
    $fileProduct = file_get_contents( $product_Url );
    $value = phpQuery::newDocument( $fileProduct );
    $products = $value->find( '.art_n_heading_wp' );

    foreach ($products as $product) {
        $productpq = pq( $product );
        $nameProduct = $productpq->find( '.product-title' )->text();
        $artProduct = $productpq->find( '.product-number' )->text();
        $slovo1 = strtok( $artProduct, " " );
        $slovo2 = strtok( " " );
        $mysqli->query( "INSERT INTO tovars (name,art) VALUES ('" . $nameProduct . "','" . $slovo2 . "')" );
    }
    $next = $value->find( '.catalog-pagination span.modern-page-first ' )->next()->attr( 'href' );
}}
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 1
Код для парсинга страницы категории вынесите в отдельную функцию, принимающую url
пример:
foreach ($products as $tovar) {
  $product_Url = 'http://happygifts.ru' . $tovar['url'];
  parseCategory($product_Url)
}

function parseCategory($url){
...//тут парсим продукты страницы
  if($next){
    parseCategory($next);
  }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы