멀리 보는 연습

Crawling_웹 크롤링이란? 본문

빅데이터 분석 서비스/Crawling

Crawling_웹 크롤링이란?

푸실리 2021. 7. 11. 10:27

우리는 정보의 홍수 속에 살고 있다. 인터넷만 접속하면 이 무궁무진한 정보들과 만날 수 있다. 하지만 사람의 능력은 한계가 있기 때문에 이러한 가공되지 않은 정보들 속에서 의미있는 정보를 찾는 것은 많은 시간과 노력이 필요하다.

 

1. 크롤링이란?

크롤링은 이러한 정보를 찾는 과정에서 효자 역할을 한다. 정확히 말하자면 데이터를 검색하여 필요한 정보를 색인하는 것을 말하는데, 사용자가 키워드를 하나하나 검색하여 정보를 얻고 저장하는 과정을 대신해준다고 보면 된다. 

 

2. 크롤링은 어떤 툴을 사용하나요?

크롤링을 할 때 가장 많이 사용하는 언어는 바로 '파이썬'이다. 문법이 간결하고 라이브러리를 통해 여러 소스코드를 쉽게 불러올 수 있기 때문에 빠르게 개발이 가능하다. 웹 페이지에 접속한 후, F12를 누르면 아래 사진과 같은 HTML 언어를 볼 수 있는데, 이 HTML과 파이썬만 있다면 무적이 된다. 

 

3. 파이썬으로 크롤링을 할 때, 주로 사용하는 라이브러리

1) Requests : 서버에 페이지 정보를 요청할 때 사용하는 라이브러리

 

import requests as req

requests를 불러와서 짧게 req로 부르겠다. 

 

url = 'https://www.naver.com/'
res = req.get(url)

이렇게 url 변수에 원하는 사이트를 담아서 출력해보면 '# Response [200]'이라는 문구가 뜰텐데, 쉽게 말해서 잘 넘어왔다는 뜻이다.

 

이제 res 변수 값에 네이버 창에 있던 많은 정보들이 넘어왔다는 뜻인데, 이를 텍스트로 출력해보면 아래와 같다.

 

저게 글자인지..외계어인지...

 

 

그렇다. requests로 가져온 데이터들은 정말 날 것의 데이터들이므로, 이 중에서 원하는 데이터만 추출하는 작업이 필요하다. 이때 필요한 툴이 바로 BeautifulSoup!

 

 

2) BeautifulSoup : 가져온 데이터에서 내가 원하는 내용만 추출

!pip install beautifulsoup4
from bs4 import BeautifulSoup as bs

 

BeautifulSoup 설치 후 불러오기!

 

result = bs(res.text,'lxml')
result.select('a.nav')

# bs (어떤 걸 가공할 건지, 어떻게 가공할 건지 - 파싱 방법)

 

 

다음 편에서는 이러한 툴을 통해 실제 사이트를 크롤링 하는 방법을 실습해보겠다. 

 

 

해당 수업 및 예제는 스마트인재개발원에서 진행되었습니다.

www.smhrd.or.kr

Comments