아미(아름다운미소)

[BeautifulSoup]웹에서 정보 가져오기 본문

랭귀지/python

[BeautifulSoup]웹에서 정보 가져오기

유키공 2017. 12. 22. 10:00
Python에는 requests라는 유명한 http request 라이브러리가 있습니다.
설치하기(pip로 간단하게 설치가 가능합니다.)
pip install requests
Requests는 정말 좋은 라이브러리이지만, html을 ‘의미있는’,
즉 Python이 이해하는 객체 구조로 만들어주지는 못합니다.
위에서 req.text는 python의 문자열(str)객체를 반환할 뿐이기 때문에 정보를 추출하기가 어렵습니다.
따라서 BeautifulSoup을 이용해야 합니다.
이 BeautifulSoup은 html 코드를 Python이 이해하는 객체 구조로 변환하는 Parsing을 맡고 있고,
이 라이브러리를 이용해 우리는 제대로 된 ‘의미있는’ 정보를 추출해 낼 수 있습니다.
설치하기 BeautifulSoup을 직접 쳐서 설치하는 것도 가능하지만,
bs4라는 wrapper라이브러리를 통해 설치하는 방법이 더 쉽고 안전합니다. (pip로 간단하게 설치가 가능합니다.)
pip install bs4
사용예제
import requests
from bs4 import BeautifulSoup
# HTTP GET Request
req = requests.get('https://www,todaymart.com/49')
# HTML 소스 가져오기
html = req.text
# BeautifulSoup으로 html소스를 python객체로 변환하기
# 첫 인자는 html소스코드, 두 번째 인자는 어떤 parser를 이용할지 명시합니다.
# 이 글에서는 Python 내장 html.parser를 이용했습니다.
soup = BeautifulSoup(html, 'html.parser')

이제 soup객체에서 원하는 정보를 찾아낼 수 있습니다.
Comments