파이썬에서 크롤링할때 Timeout 에러가 발생하는 경우가 있습니다.
TimeOut
파이썬의 request에서 사이트를 크롤링 할 때 여러가지 이슈로 Timeout이 발생하게 됩니다. 예를 들어 서버가 응답을 주지 않거나, 아니면 서버에서 차단 당하는 형태 등으로 timeout이 발생하게 됩니다.
connection이 established 될 때까지 기다리는 시간입니다.
위의 그림을 참고해보면 SYN을 보내고 상대방에게서 ACK가 올 때까지 기다리는 시간을 뜻하는데요. 즉 최초 연결을 하지 못하고 기다리다가 timeout이 생길 수 있습니다..
이 외에도 접속후에도 동일한 이슈로 timeout이 발생할 수 있습니다.
Request Timeout 처리방법
파이썬 공식문서에 따르면 request는 따로 타임아웃을 정리하고 있지 않습니다.
https://docs.python-requests.org/en/latest/user/advanced/#timeouts
기본적인 문법은 requests.get(주소, timeout=시간) 으로 뒤에 timeout 파라미터만 넣어주면 되는데요.
이렇게 처리하고 except를 이용해서 requests.exceptions.Timeout을 예외처리해주면 됩니다.
except requests.exceptions.Timeout as e:
print("Timeout Error : ", e)
그럼 잘 사용하시기 바랍니다.
'Programming > Python' 카테고리의 다른 글
파이썬 *로 트리 만들기 - Print 활용하기 (0) | 2024.03.21 |
---|---|
파이썬 엑셀 저장시 여러 시트 저장 및 열 넓이 조정하기 (0) | 2024.03.18 |
네이버 뉴스 API로 한번에 크롤링하기 (0) | 2024.03.11 |
파이썬 텔레그램 botfather 챗봇(chatbot) 설정하기 (0) | 2024.03.05 |
youtube API 설정하기 (0) | 2024.02.28 |