본문 바로가기

PYTHON

웹 크롤링이란?

 

 

웹 스크래핑이란이란

 

스크레이핑(scraping)이란 웹 크롤링(Web Crawling) 이라고도 하며, 통신을 통해 웹 사이트에서 원하는 정보를 자동으로 수집하고 정리하는 것

 

 

웹 크롤링은 네이버 쇼핑 최저가 검색, 인스타그램 태그 검색 등 정말 많은 곳에 쓰이고 있다.

https://search.shopping.naver.com/search

 

웹 크롤링이란

웹 스크레핑이라고도 한다. 스크레핑이란 통신을 통해 웹 사이트에서 원하는 정보를 자동으로 수집하고 정리하는 것이다. 그렇다면 통신은 뭘까. 통신은 송신자가 수신자에게 어떤 수단을 통해 메시지를 전달하는 것을 말한다. 

 

웹 통신이란?

웹(인터넷)이라는 수단을 통해 메시지를 전달하는 것을 말한다. 웹 통신에는 두 종류가 있다.

  • TCP
    응답이 있는 통신 따라서 속도가 느리다.
    대부분의 웹 통신이다. 요즘 트렌드는 UDP랑 같이 쓴다.
    연결형 프로토콜 따라서 신뢰성이 높다. (안전)

  • UDP

 

UDP 웹 통신(Ping)

위에 사진을 보면 구글에게 Ping(icmp 통신규약) 으로 요청을 보내 응답을 받은 과정이다.

즉 웹 통신은 웹이 요청(Client)과 응답(Server)으로 이루어져 있다는 것을 알 수 있다.

 

 

 search.naver.com이라는 곳에 가서 /(메인 메뉴)에 있는 search.naver를 where=news로, query=무역전쟁으로 주세요라는 요청을 받고 Server에서 

 

 

 

 

 

 

 

 

 

Request 메소드

  • GET  가져오기

  • POST  붙이기

  • PUT  수정하기

  • DELETE  삭제하기

https://developer.mozilla.org/ko/docs/Web/HTTP/Methods

Response의 응답코드 (HTTP 상태코드)

  • 2XX  --> 성공

  • 3XX  --> 리다이렌션(자원이 옮겨짐)

  • 4XX  --> 요청오류

  • 5XX   -->서버의 오류

https://developer.mozilla.org/ko/docs/Web/HTTP/Status

 

 

 

데이터 포맷

통신에서 구조화된 문서를 전송하는 방식은 두가지가 있다.

  • XML

    HTML도 XML의 일종이다.

https://ko.wikipedia.org/wiki/XML

  • JSON

    언뜻 Python Dictionary와 비슷한것같지만 다르다. Python에서 json을 load해서 Dictionary로 변환하는 내장 Library가 있기 때문이다.

 

 

 

크로링은 웹 상에 돌아다니는 XML과 JSON을 적절히 읽어서 가공하는 거다.

'PYTHON' 카테고리의 다른 글

REST API란 무엇인가  (0) 2020.08.03