#python #debugging #beautifulsoup
#python #отладка #beautifulsoup
Вопрос:
Я анализирую веб-страницу каждые 5 секунд, чтобы обнаружить изменения. Этот код выполняется почти все дни и ночи без проблем, за исключением нескольких зависаний в день, и мне приходится перезапускать его. Я мог бы обойти проблему с помощью таймера, который автоматически перезапускает мой скрипт, но я хотел бы понять проблему.
Код:
while 1:
[...]
print(">>debug 1")
soup = BeautifulSoup(response, 'html.parser')
print(">>debug 2")
[...]
Вывод:
[...]
>>debug 1
>>debug 2
>>debug 1
Здесь скрипт зависает. Последний вывод всегда «>> debug 1», затем он зависает без сбоев.
Почему эта строка случайным образом замораживает скрипт один раз каждые ~ 3000 выполнений? Как я могу продолжить расследование?
Спасибо
Комментарии:
1. Из вашего вывода. Последний вывод всегда «>> debug 1». Это означает, что
soup = BeautifulSoup(response, 'html.parser')
в этой строке кода что-то пошло не так. Возможно, ответ пошел не так во время вашего бесконечного цикла, что приводит к тому, что BeautifulSoup не может разобрать HTML.2. Где вы разместили скрипт? Возможно, пропускная способность ограничена или что-то происходит с сервером в определенное время
3. @Hanz Скрипт запускается на моем компьютере. Нет проблем, когда нет пропускной способности, например, когда я отключаю Wi-Fi, он просто анализирует пустую страницу без зависания
4. Ваш компьютер работает днем и ночью 24/7?? Я в замешательстве
5. @Hanz Нет, я бы сказал, скорее 18/6