как проанализировать веб-сайт, который использует технику бесконечной прокрутки для отображения контента? [закрыто]


Как я могу очистить все данные там? Я пишу php-скрипт для очистки данных с веб-сайта с динамическим загрузчиком. Я использую синтаксический анализатор HTML Dom и scoopy, чтобы очистить следующий веб-сайт https://www.lyoness.com/au/search/partner /. Я новичок, и я не могу определить, как анализировать бесконечный скроллер.

<input id="btnNextPage" type="button" class="btn btn-primary" style="width: 100%" value="Next page">
Author: Subtain Ishfaq, 2015-07-11

1 answers

Это ссылка, используемая для извлечения контента с помощью ajax,

https://www.lyoness.com/au/search/loadpage?cp=1&area=2&st=&rz=&rzc=&f=&ft=Basic&c=AU&r=12&la=en-AU&s=Default&isPreviousPageClick=false&_=

Переменная cp - это номер страницы, которую вы загружаете. это означает, что вы можете перебирать все номера, если все еще возвращается содержимое.

Вы не можете получить доступ к этой ссылке с помощью php, потому что даже доступ к ней через браузер невозможен, я пробовал с помощью ajax, и это работает, вот код ajax, который вы можете ввести в консоли страницы и изменить cp, он будет печатать содержимое ajax, вы можете добавить цикл с некоторыми задержка

$.ajax({
url:'https://www.lyoness.com/au/search/loadpage?cp=5&area=2&st=&rz=&rzc=&f=&ft=Basic&c=AU&r=12&la=en-AU&s=Default&isPreviousPageClick=false&_=',
success:function(data){
  console.log(data);
}
})

Вы можете отправить возвращенные данные после того, как очистите их с помощью jquery (что очень просто, если использовать библиотеки php) на свой сервер с помощью запроса post или get и сохранить в базе данных с помощью какого-либо API или отключить опцию междоменной безопасности в вашем браузере.

РЕДАКТИРОВАТЬ:

Вот php-код для извлечения первой страницы с помощью CURL

    if (!function_exists('curl_init')){
            die('Sorry cURL is not installed!');
    }
    $url = 'https://www.lyoness.com/au/search/loadpage?cp=1&ft=Basic&c=AU&r=12&la=en-AU&s=Default';

    $ch = curl_init();
    curl_setopt($ch,CURLOPT_ENCODING , "gzip");
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla-Djokage/1.0");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'X-Requested-With: XMLHttpRequest'
    ));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    $output = curl_exec($ch);
    echo $output;
    //echo 'Curl error: ' . curl_error($ch);

    curl_close($ch);

Вам нужно будет пройти через переменную cp в URL-адресе, чтобы проанализировать все страницы, а также вам нужно очистить html-код $output, чтобы получить все ваши переменные и сохранить их в БД, я попробовал код, и он отлично работает. я надеюсь, что вы примете это решение

 1
Author: djokage, 2015-07-11 23:09:55