for ($i = 0; $i < $count; $i++) {
sleep(5); // Я бы тут поигрался с sleep.
// $html = curl_get($silka[$i]); // Ссылка на сериал
// А вот тут я бы проверял, что запрос дошел. Можно кастомизировать, но в простом случае
$stopAsking = false;
$countRequests = 0;
while (!$stopAsking) {
try {
$html = curl_get($silka[$i]); // Здесь в функции выбрасывайте исключение и ловите его с помощью https://www.php.net/manual/en/function.curl-error.php
$stopAsking = true;
} catch (Exception $e) {
sleep(1); // Подвязать логику слипа на количество запросов
$countRequests++;
if ($countRequests > 5) {
$stopAsking = true; // И прерывать действие части скрипта, которая делает запрос на сервер.
}
}
}
if ($countRequests > 5) {
continue;
}
$dom = str_get_html($html); // Парсить страницу
$finds = $dom->find('.added-info');
foreach ($finds as $find) {
$tfind = trim($find->plaintext);
if ($series[$i] === $tfind) {
echo $id[$i];
sleep(5); // У вас это запускается только в случае, если будет finds. В принципе, sleep тут не нужен уже, так как выработаете с готовой страницей. Но, например, если $finds = $dom->find('.added-info'); - не будет, то следующий запрос будет моментален.
} else {
$sql = "UPDATE `seria` SET `series` = '$tfind' WHERE `seria`.`id` = $id[$i]";
$mysql->query($sql);
message_to_telegram("Вышла новая серия" . $series[$i] . $silka[$i]);
echo $id[$i];
}
}
}