모듈(Module)이란?
크롤링으로 웹 페이지의 데이터를 가져오고 처리하려면, 특정 기능을 수행하기 위한 모듈(Module)
이 필요합니다.
프로그래밍에서 모듈은 특정 기능을 수행하는 코드를 담고 있는 파일로, 다른 프로그램에서 불러와 사용할 수 있습니다.
파이썬 크롤링에 필요한 모듈은 여러가지가 있지만, 대표적으로 아래와 같은 모듈들이 있습니다.
-
requests
: 네트워크 요청으로 웹 페이지의 데이터를 가져오기 위한 모듈 -
BeautifulSoup
: 웹 페이지에서 가져온 HTML 데이터를 처리하고 원하는 데이터를 추출하기 위한 모듈 -
selenium
: 웹 페이지를 제어하기 위한 모듈
모듈의 특징
-
재사용 가능한 코드
: 모듈은 함수, 변수, 클래스 등 기능별로 구분된 코드를 포함하며, 이들을 하나의 파일에 모아 필요할 때마다 재사용할 수 있도록 합니다. -
독립성
: 모듈은 독립적으로 작동하고, 다른 코드와 쉽게 결합될 수 있어야 합니다. -
네임스페이스
: 네임스페이스(namespace)는 프로그래밍에서 식별자(변수, 함수, 클래스 등의 이름)가 저장되는 공간 을 의미합니다. 모듈은 자신만의 네임스페이스를 가지므로, 모듈 내 함수나 변수 이름은 다른 모듈 및 기존 프로그램과 충돌하지 않습니다.
모듈 사용의 장점
-
가독성 향상
: 기능별로 코드를 모듈로 분리하면 프로그램의 구조를 더 쉽게 이해할 수 있습니다. -
유지보수성 개선
: 모듈화는 코드를 작은 단위로 나누어 각각이 독립적으로 기능하도록 만듭니다. 이로 인해 특정 모듈에서 발생하는 문제가 다른 모듈에 영향을 미치지 않아 유지보수가 용이해집니다. -
재사용성
: 한 번 작성된 모듈을 다양한 프로그램에서 재사용할 수 있습니다.
사용 예제
파이썬에서 모듈은 .py
확장자의 파이썬 파일로 존재하며, import
문으로 다른 파이썬 파일을 불러올 수 있습니다.
# my_module.py 파일에 say_hello 함수 정의
def say_hello(name):
return f"안녕하세요, {name}!"
# 동일한 파일 경로에 있는 my_module.py 파일을 불러옴
import my_module
# my_module의 say_hello 함수 호출
print(my_module.say_hello("코드프렌즈"))
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!