QueryPath сам выдаст ванильные HTTP-запросы - ничего особенного. 1361 тоже не обязательно большое число.
Я бы предложил запустить цикл обхода, захватить некоторое количество страниц (скажем, 10) подряд, поспать несколько секунд, а затем перехватить еще десять. Предполагая, что $ urls является массивом URL, вы можете попробовать что-то вроде этого:
$count = count($urls);
$interval = 10; // Every ten times...
$wait = 2; // Wait two seconds.
for ($i = 0; $i < $count; ++$i) {
// Do whatever you're going to do with QueryPath.
$qp = qp($url);
if ($i > 0 && $i % $interval == 0) {
sleep($wait);
}
}
Как показывает предыдущий плакат, протестируйте меньшее количество URL-адресов, а затем поднимитесь оттуда.
Вот еще несколько советов:
- Файл robots.txt удаленного сайта иногда указывает, как долго сканер должен ждать (задержка сканирования) между обходами. Это, если установлено, является хорошим индикатором того, что ваша переменная $ wait должна быть установлена.
- Попадание на сайт в непиковое время (например, в 2:00 по местному времени) минимизирует вероятность того, что удаленный сайт будет заполнен запросами.