1. BeautifulSoup과 lxml이란?
BeautifulSoup이란 스크래핑을 하기위해 사용하는 패키지이고,
lxml은 구문을 분석하기 위한 parser이다.
즉, BeautifulSoup은 response.text를 통해 가져온 HTML 문서를 탐색해서 원하는 부분을 뽑아내는 그런 역할을 하는 라이브러리이다.
또한, response.text로 가져온 HTML문서는 단순히 String에 지나지 않으니, lxml을 통하여 의미있는 HTML문서로 변환하는 것이다.
결론적으로, response.text로 가져온 String은 lxml이라는 모듈의 해석에 의하여 의미있는 HTML 문서로 변환되고, 이렇게 변환된 HTML문서는 BeautifulSoup에 의해서 원하는 부분을 탐색할 수 있게 된다.
그래서 보통 BeautifulSoup이랑 lxml이랑 같이 쓰는 것 같다.
BeautifulSoup과 BeautifulSoup4은 버전 차이이다.
BeautifulSoup을 쓸 수는 있지만, BeautifulSoup4를 대부분 권고하는 것 같다.
여기서 말하는 BeautifulSoup와 BeautifulSoup4, bs, bs4는 모두 BeautifulSoup4라고 알면 될 것 같다.
2. 설치
설치는 터미널 창에
pip install beautifulsoup4
pip install lxml
혹은, 내가 requests 라이브러리 설명에서 썼던(파이참 기준) 방법을 쓰면 된다.
3. 사용법
from bs4 import BeautifulSoup
을 사용하여 BeautifulSoup을 import 시켜준다.
이를 통해 한 번 네이버 웹툰의 HTML 정보를 가져와보자.
import requests
from bs4 import BeautifulSoup
url = "https://comic.naver.com/webtoon/weekday"
response = requests.get(url)
response.raise_for_status()
soup = BeautifulSoup(response.text, "lxml")
예전에 하던 것처럼 requests를 통해 응답(response)를 받아온다.
새롭게 추가된 것은
soup = BeautifulSoup(response.text, "lxml") 이라는 문장이다.
이 문장의 의미는 response.text를 통해 가져온 HTML 문서를 lxml 파서를 통해서 BeautifulSoup 객체로 만들어 준 것이다.
따라서 soup은 해당 url의 모든 HTML 정보를 가지고 있게 된다.
4. 요약
BeautifulSoup은 HTML을 스크래핑, 검색 등을 용이하게 만든 라이브러리이고, lxml은 String형식의 HTML문서를 살아있는 HTML문서, 의미있는 문서로 만들어주는 역할로 이해하면 될 것 같다.
다음 글은 이를 어떻게 쓰는지에 대한 글입니다.
2022.01.28 - [Python Library/웹 크롤링] - [웹 크롤링 - Python] BeautifulSoup 사용법
참고 : 나도코딩
'Python Library > 웹 크롤링' 카테고리의 다른 글
[웹 크롤링 - Python] Selenium 프레임워크 및 웹 드라이버 (0) | 2022.02.01 |
---|---|
[웹 크롤링 - Python] 응용 및 홈페이지 url 변경 크롤링 (2) | 2022.01.31 |
[웹 크롤링 - Python] BeautifulSoup 사용법 (2) | 2022.01.28 |
[웹 크롤링 - Python] User-Agent (1) | 2022.01.28 |
[웹 크롤링 - Python] Requests 라이브러리 (0) | 2022.01.28 |