Заполнение массива, данными, полученными при парсинге сайта, прекращается после достижения 9001-ого элемента

Заполнение массива, данными, полученными при парсинге сайта, прекращается после достижения элемента №9001, хотя должно быть спарсено более 46000 позиций товаров(то есть в массиве по итогу также должно быть свыше 46000 элементов). функция parse() cкачивает html каждой страницы, пробегая по каждому объявлению на странице, составляется массив словарей с основной информацией. Затем массив словарей добавляется в массив всех объявлений all. Далее в функции save_file происходит заполнение excel файла через цикл for, путем обращения в словарях по имени к элементам

def parse(): 
    html = get_html(URL)
    get_content(html)
    if html.status_code == 200:
        all = []
        all.extend(get_content(html))
        for i in range(2, 201): #931
            html = get_html(URL+f'?page={i}')
            all.extend(get_content(html))
            print(f'итерация {i} прошла успешно!')
        save_file(all)

Парсю вот с этого сайта

  • Для решения данной проблемы я отследила на какой итерации в цикле for массив перестаёт пополняться.

Как видно после 180 итерации длина массива(то, что цифра 9000) перестала увеличиваться

  • Также вывела код страницы, информация с которой, не добовляется в массив, но не обнаружила ничего подозрительного, вроде капчи.
  • Ещё пробовала использовать задержки программы на каждой 50-ой итерации:
import time
time.sleep(10)

Но ничего из вышеперечисленного не помогло. Буду рада любым ответам. Если что-то в моем объяснении непонятно, то пишите, обязательно дополню. Заранее спасибо!


Ответы (0 шт):