웹 스크래핑이란?
빅데이터, 머신러닝, 딥러닝 등 소위 대세라고 불리는 개념의 중심에는 데이터가 있습니다.
특히 웹에는 다양한 정보가 경쟁하듯이 넘쳐나죠. 증가하는 데이터의 양은 놀랍기만 합니다. 최근 IDC의 보고서에 따르면, 오는 2025년에는 163ZB(제타바이트)의 데이터가 생성될 것이라고 합니다. (163ZB..사실 어느정도의 양일지 감이 오지 않네요.) 이제 데이터는 매우 소중한 자산이고 돈이 되었고 기업과 개인들은 새로운 과제에 직면합니다. 생성된 모든 데이터는 똑같이 중요하지 않으며, 맥락이 없는 데이터는 아무 소용이 없기때문이죠.
우리가 시간이 있다면 모든 내용을 보고 꼼곰하게 검토하고 열심히 찾아서 또는 매일매일 빠짐없이 정보를 찾아보겠지만 우리는 이미 너무나 바쁘고 할 일이 많습니다.
가뜩이나 바쁜 세상, 원하는 자료를 누군가 대신 찾아서 정리해 주면 얼마나 좋을까요?
과거에 종이신문을 보고 필요한 부분이 있으면 잘 오려서 공책에 붙이고 필요한 메모를 적고는 했었는데 이렇게 모인 자료는 시간이 지나면 유용한 가치가 있었습니다. 우리는 이런 작업을 신문 '스크랩핑' 이라 불렀습니다. 그럼 웹 스크래핑이 무엇일까요?

아직도 많은 사람들이 종이신문을 보기도 하지만 대부분은 웹에서 쉽게 제공되는 정보를 그대로 접하고 사용하게 됩니다. 정보를 접하기 쉬운 만큼 제공하기도 쉬워져서 가치가 떨어지는 자료들도 넘쳐 나죠. 다시 말하자면 이 중에 우리가 원하는 가치 있는 자료를 찾아 모으는 일이 그만큼 더 어렵고 오래 걸리게 되었다는 것을 의미합니다.
여기에 대한 답이 있습니다. 그것이 바로 웹 스크래핑입니다. 웹스크랩핑은 웹사이트에서 내가 원하는 데이터를 추출하여 내가 원하는 형태로 가공하는 행위를 말합니다. 웹 스크래핑은 조사 작업, 영업, 마케팅, 금융, 전자 상거래 등에 사용되며 많은 경우 경쟁사에 대해 더 많이 알아보기 위해 사용되기도 합니다.
물론 웹 스크래핑 기술은 기존 기업들의 서비스와 서버에 부하를 줄 수 있어 기업들은 이러한 상황을 막기 위해 API를 제공하기도 하지만 API를 통해서 제공되는 데이터는 제한적이고 원하는 데이터를 내가 원하는 형태로 얻지 못하기때문에 웹 스크래핑을 통해 필요한 정보를 사이트에서 데이터를 직접 추출하고 가공합니다.
예를들어, 네이버 증권에서 인기검색 Top 10 종목을 조회 할 수도 있고

동행복권 사이트에서 회차별로 1등 번호를 수집 할 수도 있습니다. 웹 스크래핑을 이용하면 보시는 것과 같이 반복적으로 클릭하는 행위도 줄일 수 있습니다.

다만 웹 스크랩핑은 정보를 제공하는 상대의 의사를 확인하고 약속하여 자료를 받는 오픈 API방식과는 달리 저작권과 같이 민감한 사안들이 존재합니다. 기본적으로 웹 스크랩핑이라는 행위 자체는 불법은 아니지만 수집한 데이터를 비즈니스에 이용하거나 데이타 자체를 상업적으로 이용 한다면 문제가 될 수 있습니다. 웹 스크랩핑을 사용하는 스스로가 제공하는 상대의 정보를 보호하며 사용해야 하다는 관점으로 접근 할 필요가 있습니다.
'Tech & Development > Automation & RPA' 카테고리의 다른 글
Discord 채널 ID 확인 (0) | 2023.02.16 |
---|---|
[ Python ] googletrans을 이용한 간단한 번역 프로그램 (0) | 2023.01.30 |
Python으로 Slack App(Bot) 만들기 (4) - Slash Commands (3) | 2022.03.14 |
Python으로 Slack App(Bot) 만들기 (3) - 챗봇 (0) | 2022.03.08 |
Python으로 Slack App(Bot) 만들기 (2) - 서버 구축(ngrok, Flask) (4) | 2022.03.08 |
댓글
이 글 공유하기
다른 글
-
Discord 채널 ID 확인
Discord 채널 ID 확인
2023.02.16Discord 채널 ID는 Discord 서버 각 채널에 할당되는 고유 식별값입니다. Discord를 이용하는데에는 채널 ID를 몰라도 전혀 문제가 없지만 다양한 API 사용이나 명령, Bot 활용 등을 위해서 필요할 수 있습니다. Discord에서 채널 ID를 찾는 방법에 대해 간단하게 알려드리도록 하겠습니다. # 개발자 모드 활성화 먼저 개발자 모드가 활성화되어 있는지 확인이 필요합니다. 사용자 설정을 클릭합니다. 고급 > 개발자 모드를 클릭하여 활성화 합니다. 다시 채널로 돌아와서 마우스 우클릭 후 메뉴에서 "ID 복사하기"를 클릭합니다. 이제 필요한 곳에 붙여넣기를 하시면 됩니다. 추가로 사용자의 이름을 마우스 우클릭하여 "사용자 ID"를 복사하거나 메시지에 마우스 우클릭하여 "메시지 ID"를 복… -
[ Python ] googletrans을 이용한 간단한 번역 프로그램
[ Python ] googletrans을 이용한 간단한 번역 프로그램
2023.01.30Python의 googletrans 라이브러리를 사용하여 텍스트와 문장을 다른 언어로 빠르게 번역할 수 있습니다. 매우 간단하며 몇 줄의 코드만 있으면 됩니다. Install Python 환경에서 간단하게 googletrans만 설치하면 사용이 가능합니다. pip 를 이용하여 googletrans 설치를 진행하면 3.0.0 버전으로 설치가 되지만 3.0.0 버전은 오류가 있으니 아래와 같이 버전을 지정하여 4.0.0rc1 버전으로 설치하시기 바랍니다. pip install googletrans==4.0.0rc1 Import packages from googletrans import Translator options = ['text', 'file'] Class declaration Googletrans는 … -
Python으로 Slack App(Bot) 만들기 (4) - Slash Commands
Python으로 Slack App(Bot) 만들기 (4) - Slash Commands
2022.03.14이번에는 Slash Commands ( / ) 를 이용하여 요청과 응답을 하는 방법에 대해 알아보겠습니다. 상세한 내용은 Slack api 설명 페이지를 참고하시기 바랍니다. 1. slack api -> Slash Commands > [Create New Command] 2. Command, Request URL, Short Description, Usage Hint 등을 입력합니다. Request URL은 단순히 테스트를 위해서 http://localhost으로 입력해도 되지만 저는 ngrok으로 생성한 URL을 사용합니다. 그리고 기존에 Direct Message 처리부분과 구분하기 위해 URL+/slash/ 라고 입력했습니다. 3. [Save] 를 누르면 Slash Commands가 생성되었습니다…. -
Python으로 Slack App(Bot) 만들기 (3) - 챗봇
Python으로 Slack App(Bot) 만들기 (3) - 챗봇
2022.03.08이제 Slack App(Bot)에 질의하고 답을 받을 수 있도록 하겠습니다. 간단히 @태그로 Bot에 날짜와 요일을 요청하면 이벤트를 감지하여 답변을 하는 간단한 챗봇을 만들어 보도록 하겠습니다. 1. Event Subscriptions > subscribe to bot events 로 이동하여 [Add Bot User Event] 를 클릭합니다. 2. app_mention 권한을 추가합니다. 3. 이전 글에서 생성했던 flask_server.py 파일을 아래와 같이 수정합니다. 더보기 hello_there 함수는 Slack 과 통신이 잘 되는지 체크하여 event_handler를 호출합니다. event_handler에서는 even_type을 확인하여 질의에 대한 답을 Return 합니다. import …
댓글을 사용할 수 없습니다.