낚시하는 프로그래머

웹 크롤링

 

 

안녕하세요. 지금까지 파이썬은 기초적인 내용은 공부를 해보았습니다. 좀 더 필요한 기초는 조금씩 더 보강을 해보겠습니다. 이제부터는 조금씩 웹크롤링에 대해서 공부를 해보려고 합니다. 웹크롤링이 왜 필요한지? 모르시는 분들도 많이 있으실 것입니다. 간단하게 인터넷에 나와있는 내용을 프로그램으로 데이터를 수집해서 가공도 하실 수 있습니다. 좀 더 응용이 된다면 자동 티켓 프로그램이라던가 실시간 예약 프로그램을 짤 수도 있습니다.

 

우선 웹크롤링을 공부를 하려면 크롤링이 무엇인지 부터 공부를 해야겠죠~?

 

크롤링이란?

인터넷에서 크롤링을 찾아보면 큰 거미줄이 나올것 입니다. 거미는 거미줄을 쳐서 필요한 먹잇감이 걸리기를 기다립니다. 그렇듯이 컴퓨터 크롤링도 마찬가지로 어떤 알고리즘에 의해서 필요한 정보를 수집하는 행위를 크롤링이라고 합니다.

현재 크롤링에 제일 최적화가 된것이 검색 엔진이라고 보면 될 것 같습니다. 크롤링을 하시려면 서버, 클라이언트, 크롤링 프로그램을 짤 수 있는 프로그래밍 언어를 이해하면 프로그램을 만들 수 있습니다.

크롤러 프로그램을 만들어야 되는데요. 크롤러 프로그램은 웹에 자동으로 접속을 하여 데이터를 수집을 해 와야 됩니다.

 

 

파이썬으로 웹페이지를 호출을 해보겠습니다.

requests , urllib  둘다 웹을 호출하는 라이브러리입니다.

requests 라이브러리를 많이 사용을 하니 설치를 하겠습니다. 설치를 하는 명령은 pip 명령을 사용하여 설치를 합니다. 명령 프롬프트를 실행합니다.

 

pip install requests를 칩니다.

 

requests 가 자동으로 다운로드 및 설치가 됩니다.

 

 

requests 를 이용해서 서버에서 응답 코드를 반환받는 예제입니다.

import requests as gw

url = "https://www.naver.com"

prn = gw.get(url)

print(prn)

결과값 : <Response [200]>     

만약에 응답 코드가 404가 나오게 되면 서버에서 응답이 없다는 코드입니다. 즉 웹브라우저에서 페이지를 열면 웹페이지에 연결을 할 수 없다는 코드입니다.

 

 

 

웹서버에서 html 코드를 긁어오는 예제입니다.

import requests as gw

url = "https://www.naver.com"


prn = gw.get(url)

print(prn.text)

결과값 : 캡처와 같이 서버에 접속해서 html 코드를 캡처해 왔습니다.

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band