파이썬으로 크롤링을 진행하다보면 에러가 발생합니다.
바로 크롤링 대상 항목 중에서 어떤 항목이 있었는데 없는 케이스가 종종 발생하게 됩니다.
아래와 같이 p tag의 class를 불러오는 경우 몇몇 사이트에서는 없을 수도 있습니다.
이럴때는 에러가 발생하면서 전체 프로그램 코드가 실행이 되지 않는데요.
이런 에러를 해결하기 위해서 파이썬에서는 try, except 문법이 있습니다.
먼저 에러처리에 대해서 알면 이해가 쉬운데요. 일반적인 코딩에서 에러처리 방법은 크게 2가지 방식으로 나뉩니다.
코딩시 에러처리 방법
EAFP
이건 “It’s Easier to Ask Forgiveness than Permission”,
간단히 설명하면 미리 허락을 구하는 것보다는 나중에 용서를 구하는 게 쉽다는 뜻입니다.
즉 항상 예외가 발생하지 않을 것으로 가정하고 나름대로의 완벽한 코딩을 하지만,
막상 실행을 했는데 런타임 에러가 발생한다면 그때 예외처리 코딩을 하는 게 좋다는 철학이다.
그래서 일단 수행(try)시키고, 만약 에러가 발생하면 그때 처리(except)한다는 스타일로 코딩을 수행하게 됩니다.
LBYL
이건 “Look Before You Leap”, 누울 자리를 보고 다리를 뻗으라는 뜻. 즉 어떤 코드를 짜더라도
에러가 발생하지 않도록 주의하여 코딩하라는 것입니다.
파이썬에서는 일반적으로 1안인 EAFP를 권장하며 그래서 오류를 일반적으로 Try,except 구문으로 처리하게 됩니다.
https://peps.python.org/pep-0463/
파이썬 Try, Except 구문
파이썬의 Try Except 구문의 기본적인 용법은 아래와 같습니다.
즉 어떤 에러가 발생할 것 같은 구문을 하고 실행시 에러가 뜨면 Except문을 그리고 마지막으로
finally를 통해서 에러 유무와 상관 없이 실행할 문법을 작성해 줍니다.
f = open('test.txt', 'w')
try:
# 무언가를 수행한다.
except:
# 에러시 시행
finally:
# 무조껀 시행
f.close()
예를 들어 아래와 같이 간단히 코딩을 하면 arr에 8번항목은 없으니 에러가 발생하고
이때 Except문법과 finally에 있는 명령은 정상적으로 실행되는 것을 확인할 수 있습니다.
이런 형태로 코딩이 실행되게 되는데요.
파이썬의 실습을 통해서 Try, Except 문법을 사용해보시면 좀더 쉽게 이해하실 수 있습니다.
'Programming > Python' 카테고리의 다른 글
파이썬 QR코드 생성하기 - qrcode (0) | 2022.11.17 |
---|---|
유튜브 실시간 방송 댓글 크롤링 (0) | 2022.11.08 |
파이썬 Workbook contains no default style, apply openpyxl's default 에러 발생시 해결방법 (0) | 2022.09.28 |
파이썬 DeprecationWarning: executable_path has been deprecated, please pass in a Service object에러 해결하기 (0) | 2022.09.20 |
파이썬 - selenium으로 원하는 웹페이지 클릭하는 방법 (0) | 2022.09.20 |