작성
·
91
·
수정됨
0
다음 코드는 크롤링 패턴 코드에서 앞 부분만 따왔습니다.
출처: 패턴으로 실습하며 익히기:HTML 이해를 바탕으로 크롤링하기
import reqests
해석: reqests라는 라이브러리를 가져온다.
from bs4 import BeautifulSoup
해석:bs4 라이브러리에서 뷰티플 솦이라는 클래스를 가져온다.
Q1 왜 두개의 라이브러리 명이 나올까요?
라이브러리 reqests, bs4
Q2처음 import는 라이브러리를 가져왔는데 왜다음 import 에서는 뷰티플 솦 클래스를 가져올까요?
그냥 코드쓰는 방식을 외워야 하나요?
답변 1
1
안녕하세요. 답변 도우미입니다.
Q1: 왜 두개의 라이브러리 명이 나올까요? 라이브러리 reqests, bs4
- requests
와 bs4
는 각각 다른 목적을 가진 라이브러리입니다.
- requests
: 웹 페이지의 HTML 소스를 가져오기 위해 사용되는 라이브러리입니다. 주로 HTTP 요청을 보내고 응답을 받아오는 작업을 합니다.
- bs4
: BeautifulSoup
이라는 클래스를 포함한 라이브러리로, 가져온 HTML 데이터를 파싱하고 원하는 정보를 추출하는 데 사용됩니다.
따라서, 크롤링 작업을 위해 두 개의 라이브러리를 사용해야 합니다. 하나는 웹 페이지를 가져오는 역할을 하고, 다른 하나는 가져온 페이지에서 원하는 데이터를 추출하는 역할을 합니다.
Q2: 처음 import는 라이브러리를 가져왔는데 왜 다음 import에서는 뷰티플 솦 클래스를 가져올까요? 그냥 코드 쓰는 방식을 외워야 하나요?
- import
의 사용 방식은 각 라이브러리의 구조와 개발자의 필요에 따라 달라집니다.
- import requests
는 requests
라이브러리 전체를 가져오는 것입니다. 이 경우 requests.get()
와 같은 방식으로 함수들을 사용할 수 있습니다.
- from bs4 import BeautifulSoup
는 bs4
라이브러리에서 BeautifulSoup
클래스만 가져오는 것입니다. 이 클래스는 HTML 문서를 파싱하고 탐색하기 위해 자주 사용되기 때문에 이렇게 가져옵니다.
이 방식은 Python의 모듈과 패키지 구조에 대한 이해를 바탕으로 결정됩니다. 일반적으로는 필요한 부분만 가져와서 코드의 가독성을 높이고, 메모리 사용을 줄이기 위해 이렇게 사용합니다.
코드를 외우기보다는, 각 라이브러리의 문서와 예제를 통해 어떤 상황에서 어떻게 사용하는지 이해하는 것이 좋습니다. 이렇게 하면 비슷한 작업을 할 때 자연스럽게 적용할 수 있습니다.
감사합니다.
잔재미코딩 드림