웹 스크래핑이란이란
스크레이핑(scraping)이란 웹 크롤링(Web Crawling) 이라고도 하며, 통신을 통해 웹 사이트에서 원하는 정보를 자동으로 수집하고 정리하는 것
웹 크롤링은 네이버 쇼핑 최저가 검색, 인스타그램 태그 검색 등 정말 많은 곳에 쓰이고 있다.

웹 크롤링이란
웹 스크레핑이라고도 한다. 스크레핑이란 통신을 통해 웹 사이트에서 원하는 정보를 자동으로 수집하고 정리하는 것이다. 그렇다면 통신은 뭘까. 통신은 송신자가 수신자에게 어떤 수단을 통해 메시지를 전달하는 것을 말한다.
웹 통신이란?
웹(인터넷)이라는 수단을 통해 메시지를 전달하는 것을 말한다. 웹 통신에는 두 종류가 있다.
-
TCP
응답이 있는 통신 따라서 속도가 느리다.
대부분의 웹 통신이다. 요즘 트렌드는 UDP랑 같이 쓴다.
연결형 프로토콜 따라서 신뢰성이 높다. (안전) -
UDP

위에 사진을 보면 구글에게 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의 일종이다.

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

크로링은 웹 상에 돌아다니는 XML과 JSON을 적절히 읽어서 가공하는 거다.
'PYTHON' 카테고리의 다른 글
REST API란 무엇인가 (0) | 2020.08.03 |
---|