[TIL_2023.11.17] 웹 스크래핑(Scraping)/ 웹 크롤링(Crawling)

김효진·2023년 11월 17일
0
post-custom-banner

공부를 하면서 스크래핑 용어가 꽤 나오길래 궁금해서 알아봤다. 관련해서 크롤링도 많이 언급되길래 같이 공부했다.

웹 스크래핑이란 '내가 정한 특정 웹페이지해서 데이터를 추출하는 것' 이다.
특정 주제의 정보 예를들어 뉴스라던가 검색 정보를 가져오는 것 등이 이에 해당한다. 또 특정 링크를 복사해서 메세지나 글에 올렸을 때

위와 같이 도메인과 이미지가 나오는데 해당 사이트에 들어가 개발자 도구를 보면 element에 head쪽을 열어보면 아래 이미지 처럼 og:~~ 가 보일 것이다.
이 경우에는 title과 image, url, description을 가져왔다고 보면 된다. (번외로 og: ~ 이런식으로 코드 쓰는게 원래 쓰는 방식은 아니었고 페이스북에서 쓰면서 괜찮다고 생각한 개발자들이 하나 둘 쓰기 시작하며 지금은 표준처럼 되었다고 한다.)

아주 긴 html 요소 중에서 필요한 정보만(제목, 이미지 등)을 가져온다.

이와 같이 원하는 특정 웹 사이트가 있고 그 사이트에서 필요한 정보만을 가져오는 것을 모두 웹 스크래핑이라고 한다.

웹 크롤링은 'url를 찾아 반복적으로 링크를 찾아 가져오는 과정'이다. 웹 페이지를 찾아다니며 정보를 수집한다. 예를 들어 검색엔진의 웹 크롤러가 하는 일이 이에 해당하는데 url 정보를 수집해 웹 페이지를 복사하여, 수집한 웹 페이지에 index를 부여해 사용자에게 신속하게 정보를 제공한다. (분류가 잘 되어있을수록 검색 속도가 올라감)

위 둘의 공통점은 정보를 추출해온다는 것에 있다.

차이점으로는 데이터 추출의 연속성에 있는데 웹 스크래핑은 특정 웹페이지에서 데이터를 추출하면 동작이 끝나는데 반해 웹 크롤링은 계속적으로 탐색한다.
그리고 타겟 웹페이지의 유무로 갈리는데 웹 크롤링은 특정 웹페이지를 타겟으로 하지 않고 먼저 탐색부터 진행하고 정보를 가져온다. 반면 웹 스크래핑은 타겟 웹페이지가 있다. 또한 웹 크롤링에서는 중복 제거가 필수적이다. 중복 또는 불필요한 정보를 가져오면 검색 효율이 떨어지므로 중복을 피하기 위해 index를 남기는데 그런 이유로 웹 인덱싱이라고도 부른다. 반면 웹 스크레핑에서는 중복 제거가 필수는 아니다.

profile
더 많은 사람들이 더 좋은 정보와 서비스를 누릴 수 있게!!
post-custom-banner

0개의 댓글