@aspitsin138

Почему метод get не работает в цикле?

Добрый день! Не могу понять почему метод get не работает в цикле for. Одиночный запрос сохраняет страницу в html, при использовании цикла, ничего не происходит, даже ошибки нет.

with open('index.html', 'r') as file:
            src = file.read()
    soup = BeautifulSoup(src, 'lxml')
    pages_count = int(soup.find('ul', class_='pagination').find_all('a')[-2].text)
    
    for i in range(1, pages_count + 1):
        url = f'https:/(ссылка)page={i}'
        #print(url)

        r = requests.get(url=url, params=params, headers=headers)
        
        with open(f"data/page_{i}.html", 'w') as file:
            file.write(r.text)
        
        time.sleep(10)    
    return pages_count + 1
def main():
    pages_count = get_all_pages()

if __name__ == '__main__':
    main()
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Вы предлагаете нам гадать тут на кофейной гуще?
Никаких входных данных, по которым можно было бы судить о причине неработоспособности вашего кода вы не предоставили.
Я могу перечислять возможные причины вечно!
- может быть в index.html мало или нет данных
- возможно вы неправильно ищете элементы в html
- некорректно сформирована ссылка с пагинацией (кстати. почему не пользуетесь параметрами, а лепите в урл?)
- сайт имеет защиту от скачивания тпым перебором чисел, может быть ему нужен еще какой-то формальный параметр
- вы не находите куда сохраняется результирующие файлы из-за непонимания что такое текущий каталог
- вы не дожидаетесь ваших 10 секундных таймаутов
- вы не в тот каталог смотрите в поисках результатов
- как-то не так запускаете и не видите ошибок, например с доступом.

С учетом того, что вы даже сюда скопировали код как-то косо и косо подменили куски строк в коде на плейсхолдеры, может быть что угодно из перечисленного
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы