как проанализировать веб-сайт, который использует технику бесконечной прокрутки для отображения контента? [закрыто]
Как я могу очистить все данные там? Я пишу 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">
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, чтобы получить все ваши переменные и сохранить их в БД, я попробовал код, и он отлично работает. я надеюсь, что вы примете это решение