랭귀지/python

Python 간단한 Web Scraping 예제

유키공 2018. 8. 28. 10:00
웹사이트에서 HTML을 읽어와 필요한 데이타를 긁어오는 것을 Web Scraping이라 한다. 이 과정은 크게 웹페이지를 읽어오는 과정과 읽어온 HTML 문서에서 필요한 데이타를 뽑아내는 과정으로 나뉠 수 있습니다.

웹페이지를 읽어오는 일은 여러 모듈을 사용할 수 있는데, 파이썬에서 기본적으로 제공하는 urllib, urllib2 을 사용하거나 편리한 HTTP 라이브러리로 많이 쓰이고 있는 requests 를 설치해 사용할 수 있습니다. 만약 기존 코드를 유지보수하는 일이 아니라면 requests 를 사용할 것을 권장합니다.

HTTP 라이브러리인 requests를 사용하기 위해서는 먼저 아래와 같이 pip을 이용하여 requests 패키지를 설치합니다.
pip install requests

웹페이지 HTML 문서를 파싱(Parsing)하기 위해서는 BeautifulSoup 라는 모듈을 사용할 수 있다. 먼저 BeautifulSoup 를 아래와 같이 설치합니다.

pip install beautifulsoup4

import requests
import bs4
 
rsp = requests.get('http://finance.naver.com/')
rsp.raise_for_status()
 
rsp.encoding='euc-kr'
html = rsp.text
 
bs = bs4.BeautifulSoup(html, 'html.parser')
tags = bs.select('div.section_strategy span a') # Top 뉴스
title = tags[0].getText()
print(title)

결과 : [투자의 창] 크라우드펀딩 투자, 다시 짚어보는 세금문제