Причина, по которой вы останавливаетесь на 40, заключается в том, что вы говорите Python остановиться на 40
for i in range(40):
Хорошая новость в том, что вы собираете следующую страницу здесь
after = not_onion_json['data']['after']
Исходя из предположения, что как только вы дойдете до конца страниц after == null
, я бы предложил выполнить цикл while. Что-то вроде
while after != None:
Это будет продолжаться, пока вы не дойдете до конца.