Python - Web 크롤링/스크래핑/파싱(Crawling / Scraping / Parsing)

컴퓨터/Python

728x90
반응형

서론

앞으로 본격적으로 Python을 통해서 다양한 Web을 통해서 다양한 데이터를 크롤링, 스크래핑, 파싱을 할 것입니다. 

결국은 Python을 통해 Web에서 정보를 취득하여 원하는 형태를 만들기 위한 과정입니다. 

이를 다양한 언어로 표현하는데 차이와 특징에 대해서 알아보도록 합시다.

 

크롤링(Crawling)

수영 영법 등을 표현할 때 Crawl이라는 표현을 씁니다. 우리가 이야기하고자 하는 Webcrawling은 의역하자면,

정보의 바다인 웹을 가로지르는 영법이라는 의미를 가질 수 있습니다.

이 처럼 크롤링은 Web상에서 정보를 탐색하는 모든 행위를 의미합니다.

 

웹 크롤링을 한다 = 웹에서 정보를 탐색한다 

 

추가로 웹 크롤러(crawler)라는 말은 이런 정보를 탐색하기 위한 다양한 프로그램을 의미합니다. 

사용자가 웹을 통해 구글에 접속에 검색(크롤링)을 한다고 해도 결국에는 하나의 크롤러(구글)를 통하여 정보를 탐색하게 됩니다.

 

 

스크래핑(Scraping)

긁어내다의 사전적 의미를 가지고 있는 스크래핑은 말그대로 데이터를 긁어오는 행위를 말합니다. 

 

크롤링을 통해 웹에서 데이터 덩어리를 보는 것이 아닌 데이터를 취득하는 것도 스크래핑의 범주에 속합니다.

또한 취득한 데이터를 원하는 형태로 가공하는 것 또한 스크래핑이라고 할 수 있습니다.

 

결국 어떠한 데이터안에서 필요한 정보를 추출하는 행위를 스크래핑이라고 합니다.

 

파싱(Parsing)

어구의 해부, 문의 분석 이라는 사전적 의미 그대로 데이터 덩어리의 문법을 분석하는 과정을 파싱이라고 일컫습니다.

어느 특정한 HTML형식의 데이터 덩어리를 문자의 형태로 가지고 오면 효율적으로 이 데이터를 사용하기는 상당히 까다롭습니다.

 

이럴 때 문자열로 이루어진 HTML형식의 데이터 덩어리를 파싱 한다면, 손쉽게 태그별로 접근이 가능하고 특정 클래스명이나 아이디를 통한 접근 등이 편리해집니다. 

 

Python에서 - 크롤링 , 스크래핑 , 파싱

앞으로 Python을 통해 웹에서의 데이터들을 찾아보고, 가지고 온 후 가공을 해서 다양한 형태로 이용해 볼 것입니다.

이런 내용을 조금 더 풀어서 설명하자면 다음과 같습니다.

 

  • 아이디어(정보를 검색하기 위한 논리적 방법)와 request패키지를 이용하여 python에서 web크롤링을 구현한다.
  • beautifulsoup를 이용하여 데이터를 쉽게 사용할 수 있도록 파싱한다.
  • 파싱이 완료된 데이터에서 필요한 데이터를 추출해서 사용한다(스크래핑) 
728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :