Я хочу очистить несколько веб-страниц.Я использую PHP и простой HTML-анализатор DOM.Например, пытаясь очистить этот сайт: https://www.autotrader.co.uk/motorhomes/motorhome-dealers/bc-motorhomes-ayr-dpp-10004733?channel=motorhomes&page=5
Я использую эту загрузку URL.
$html = new simple_html_dom();
$html->load_file($url);
Это загружает правильную страницу.Затем я нахожу ссылку на следующую страницу, здесь она будет: https://www.autotrader.co.uk/motorhomes/motorhome-dealers/bc-motorhomes-ayr-dpp-10004733?channel=motorhomes&page=6
Просто значение страницы будет изменено с 5 на 6. Фрагмент кода для получения следующей ссылки:
function getNextLink($_htmlTemp)
{
//Getting the next page links
$aNext = $_htmlTemp->find('a.next', 0);
$nextLink = $aNext->href;
return $nextLink;
}
Приведенный выше метод возвращает правильную ссылку со значением страницы, равным 6. Теперь, когда я пытаюсь загрузить эту следующую ссылку, он выбирает первую страницу по умолчанию с запросом страницы, отсутствующим в URL.
//After loop we will have details of all the listing in this page -- so get next page link
$nxtLink = getNextLink($originalHtml); //Returns string url
if(!empty($nxtLink))
{
//Yay, we have the next link -- load the next link
print 'Next Url: '.$nxtLink.'<br>'; //$nxtLink has correct value
$originalHtml->load_file($nxtLink); //This line fetches default page
}
ВесьПоток выглядит примерно так:
$html->load_file($url);
//Whole thing in a do-while loop
$originalHtml = $html;
$shouldLoop = true;
//Main Array
$value = array();
do{
$listings = $originalHtml->find('div.searchResult');
foreach($listings as $item)
{
//Some logic here
}
//After loop we will have details of all the listing in this page -- so get next page link
$nxtLink = getNextLink($originalHtml); //Returns string url
if(!empty($nxtLink))
{
//Yay, we have the next link -- load the next link
print 'Next Url: '.$nxtLink.'<br>';
$originalHtml->load_file($nxtLink);
}
else
{
//No next link -- stop the loop as we have covered all the pages
$shouldLoop = false;
}
} while($shouldLoop);
Я попытался кодировать весь URL, только параметры запроса, но тот же результат.Я также попытался создать новые экземпляры simple_html_dom и затем загрузить файл, но не повезло.Пожалуйста, помогите.