크롤링 관련된 자료를 찾아보면서...
페이지 정보
본문
옛날에 개발할 때 타사에서 제공하는 API 로 이것저것 스크랩핑을 했었습니다.
특정 서비스 제공자가 프로그램간 통신을 통해서 동작하게 할 수 있도록 이런저런 API 를
제공해서, 해당 서비스를 사용하고 싶은 사용자는 제공자가 제공하는 Rule 에 따라서
구현하고 싶은 언어로, HTTP 클라이언트를 사용해서 문서에 맞게 Body 를 잘 만들어서
요청하면 서버에서 처리 후에 반환하는 방식입니다.
프로토콜도 XML ("application/xml") 혹은 JSON ("application/json") 등등등 쓰는게 다릅니다.
어쨌거나 프로그래밍 언어에서 이런저런 정의만 대충 해주면 대응해줘서 그리 머리싸매고
스트레스 받을 일은 없습니다.
물론, 서비스 제공사가 제대로 문서를 주지 않으면 그때부터는 지옥이긴 한데... 그럴일은 거의
없습니다. ^^;;
위의 행위를 크롤링이라고 하진 않습니다.
보통 스크래핑이라고 하죠.
아무튼, 최근에 검색 로봇 (혹은 크롤러) 과 검색 엔진에 관심이 있게 되어서
논문 보면서 구현해보기 시작했습니다.
(그간 어떻게 구현했는지 논문들이 많이 나와있어서 논문 참고하면서 어떻게
구현할 지 구상해보고 있습니다.)
근데, 구현하면서 기사 몇개를 찾아보니 몇몇 기업들이 크롤링을 해서 불법으로
민사상의 보상을 했다고 하는데, 읽어보니 크롤링이 아니라 스크랩핑을 해서 문제가 된
경우가 많았던 것 같습니다.
검색 로봇은 보통 들어가고 싶은 홈페이지에 들어가기 전에 "robots.txt" 를 확인해서
가지 말아야 할 곳들을 확인하는게 관례이고, "Crawl-delay" 값을 조절하도록 처리한 경우
에는 해당 시간을 지켜가면서 크롤링을 하고, 이런저런 룰들을 지켜가며 링크를 타고 돌아
다닙니다.
관련된 자료들도 찾아보면, 크롤링과 스크랩핑에 대한 구분글이 거의 없고
"크롤링을 주장하는 스크랩핑 글" 을 보면 해당 서비스에서 접근하지 말라고 한
경우가 많은데 그걸 깨고 API 콜을 해가면서 스크랩핑 하는 경우가 많았던 것 같습니다.
어쨌거나, 논문을 읽어보면서, 관련된 것들을 찾아보면서 이런저런 생각들이 많이 듭니다.
지극히 개인적으로 집에서 쓸꺼라 얼마나 할 지는 모르겠습니다만...
지켜주세요, 하지마세요는 잘 지켜가면서 짜야 되겠습니다.
B739님의 댓글의 댓글
몰라도 아는척 하면서 열심히 배우려고 하고 있습니다. ㅎㅎㅎㅎ
인생여전님의 댓글
인생여전님의 댓글의 댓글
크롤링(Crawling): 크롤링은 웹사이트의 여러 페이지를 자동으로 탐색하고, 그 페이지의 링크를 따라가면서 더 많은 페이지를 수집하는 과정입니다. 예를 들어, 검색 엔진(구글 등)은 웹 크롤러를 사용해 인터넷 상의 웹사이트를 탐색하고, 새로운 정보를 찾아 인덱싱합니다. 즉, 웹 전체를 탐색하는 것이 크롤링의 목표입니다.
스크래핑(Scraping): 스크래핑은 특정 웹페이지에서 필요한 데이터만을 추출하는 과정입니다. 예를 들어, 특정 쇼핑몰에서 상품 정보(가격, 설명, 이미지 등)만을 가져오고 싶을 때 스크래핑 기술을 사용합니다. 여기서는 웹 페이지를 모두 탐색하기보다는 특정한 데이터를 추출하는 것이 목적입니다.
쉽게 말해, 크롤링은 웹을 돌아다니면서 정보를 수집하는 행위이고, 스크래핑은 그 중 필요한 데이터만 뽑아오는 과정입니다.
SDK님의 댓글