Как исправить бесконечную работу моего парсера на PHP и CURL? - PullRequest
0 голосов
/ 10 октября 2019

Мне нужно сделать парсер, который будет читать указанное количество ссылок, например, 80. Я не могу понять, как сохранить или прочитать все ссылки, отображаемые на экране. Теперь парсер работает бесконечно.

<?php
$page = 1;
$var = array();
$total = fPars('https://www.dns-shop.ru/catalog/17a892f816404e77/noutbuki/?p=1&order=1&groupBy=none&stock=2', $page, $var);

function fPars($parsLink, $page, &$var){
    $arr = parse_url($parsLink);
    parse_str($arr['query'],$query);
    $query['p'] = $page;
    $query = http_build_query($query);
    $url = $arr['scheme'].'://'.$arr['host'].$arr['path'].'?'.$query;

    $html = curl_get($url);
    $dom = str_get_html($html);
    $links = $dom->find('.product-info__title-link');
    $page = $page +1;
    foreach ($links as $link) {
        echo $link . '<br/>';
    }
    $var = array_merge($var,$links);
    echo count($var) . '<br/>';
    if (count($var) < 80) {
                fPars($url, $page, $var);
    }
}
?>
...