Ну если человек сидит с одного IP и его не банят, значит надо сделать так, как будто по сайту ходит "человек".
Для этого предлагаю вспомнить общеизвестную задачу "банерокрутилку". Имеется N банеров. Их надо прокрутить каждый по 1 разу и за K секунд.
В вашем случае в качестве банеров выступают URL-ы. K секунд делим на Т url-ов и получаем время на каждую ссылку. Но. Чтобы внести не детерменированность, то делаем это с разными промежутками времени перед между очередной итерацией парсинга.
Посмотрите внимательно на вывод:
site.ru/?page1
site.ru/?page2
...
site.ru/?pageN .
Видите?
В этом решение сразу проглядывается цикл и это может быть достаточным основанием для распознования парсинга.
Как правило люди пишут "влоб" потому что головою думать не хотят!
Надо сделать "прогулку" по сайту так: site.ru/?page15, site.ru/?page179, site.ru/?page1, ... Одну страничку за 5 сек посмотрели, а другую 1минуту и т.д. Понаблюдайте за собою, как вы ходите по сайтам? Вы разве за 1-2 сек успеваете прочесть статью? Уверяю вас вы хаотично бродите по сайту. То в личные сообщения, то в избранные, то в поиск заглянете, то из выдачи поиска по какой-то статье. Вот и в парсинг вносите хаотичность
Конечный вывод в том, что вам нужно выбирать между:
- Если хотите быстрый парсинг, значит больше прокси
- Если хотите с одного IP, то придется пожертвовать временем работы