본문 바로가기

Python/Python Basic

크롤링(Crawling)_01 (WEB, HTTP, Crawling의 개념)

WWW (World Wide Web)

- 도큐먼트(페이지)가 URL로 구별되며, 각 도큐먼트는 다른 도큐먼트의 링크(hypertext)를 갖는 인터넷 상의 공간

- 개념적으로 전 세계의 컴퓨터가 모두 연결되어 접근 가능한 상태의 공간이라 보면 됨

- [참고] https://ko.wikipedia.org/wiki/%EC%9B%94%EB%93%9C%EC%99%80%EC%9D%B4%EB%93%9C%EC%9B%B9

 

 

HTTP (HyperText Transport Protocol)

- WWW(웹)상에서 문서 전송을 위한 통신규약(protocol)

- request(요청) / response(응답) 으로 구성

* browser(클라이언트)가 request(요청)하면 web server(서버)가 HTML 이나 다른 자원 (이미지, 텍스트, 동영상 등)을 response(응답)으로 전송

* request의 형태에는 대표적으로 GET/POST가 있음

1. GET 방식 : 데이터 전달을 URL 내에서 함 (ex. 네이버 검색, 구글 검색 등)

2. POST 방식 : 데이터 전송을 FORM을 통해서 함. 따라서 사용자에게 직접적으로 노출되지 않음 (ex. ID, 비밀번호 전달)

* browser는 응답을 rendering(화면에 출력)하여 인간이 보기 쉬운 형태로 출력

- [참고] https://ko.wikipedia.org/wiki/HTTP

 

 

Chrome 개발자 도구

- chrome browser에 내장되어 있는 개발자 도구

- 웹페이지 구조를 분석 가능하게 하여 crawling을 자동화 할 수 있도록 함

* osx : cmd + ctrl + j

* windows : ctrl + shift + i or F12

 

 

Crawling이란?

- web 상에 존재하는 content를 수집하는 행위

- API, HTML, parsing, selenium을 통한 자동화 등 여러가지 방법이 존재

 

 

BeutifulSoup module

- html의 DOM(Document Object Model)내의 원하는 내용이 있는 부분 검출 가능

- [참고] https://www.crummy.com/software/BeautifulSoup/bs4/doc/

- 설치방법 : pip install bs4

 

 

반응형