Я новичок в cURL и пытаюсь извлечь данные из динамического URL.Я успешно получил данные только с 1 страницы, но мне нужно получить данные со всех страниц.Проблема здесь в том, что страницы являются переменными;Я не знаю, сколько раз код должен зацикливаться на всех страницах.то есть количество страниц варьируется от одного случая к другому, и хорошая программа - это та, которая работает в максимально возможном количестве случаев.Следовательно, размещение ссылок в массиве и их циклирование не является правильным решением для этого.
Вот краткое объяснение URL, с которого я пытаюсь получить данные:
https://link-search.api.cj.com/v2/link-search?website-id=[Your-ID]&link-type=banner
&advertiser-ids=1513033&records-per-page=100&page-number=' . $num
Вы заметили последнюю переменную $num
?Это должно представлять номер страницы, откуда данные будут получены.В некоторых случаях это может быть только 1, а в некоторых других случаях это может быть 10, 12 или 15 (варьируется) в зависимости от параметров, которые я выбираю, хочу ли я видеть все или фильтровать некоторую информацию.
Теперь вот проблема.Как динамически увеличивать это число, пока запрос возвращает данные?и если нет, cURL должен перестать работать?
Вот код:
<?php
$num = 1;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "XGET");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($curl, CURLOPT_ENCODING, "UTF-8");
curl_setopt($curl, CURLOPT_URL, 'https://link-search.api.cj.com/v2/link-search?website-id=[Your-ID]&link-type=banner&advertiser-ids=1513033&records-per-page=100&page-number=' . $num);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_COOKIE,true);
$result = curl_exec($curl);
$xml = simplexml_load_string($result) or die("Error: Cannot create object");
if (curl_errno($curl)) {
echo 'Error:' . curl_error($curl);
}
curl_close($curl);
?>