주니어 데이터 엔지니어 우솨's 개발일지

데이터 엔지니어링 7일차 TIL 본문

데브코스

데이터 엔지니어링 7일차 TIL

우솨 2024. 4. 2. 15:42

학습내용

Web Scraping 기초

인터넷 : 여러 컴퓨터끼리 네트워크를 연결한 것.
Web은 인터넷 상에서 정보를 교환하기 위한 시스템이다.
Client : 정보를 요청하는 컴퓨터
Server : 정보 제공하는 컴퓨터

HTTP(Hyper Text Transfer Protocol)
웹 상에서 정보를 주고받기 위한 약속

http요청시 필요사항
- Get, Host, User-Agent

웹 브라우저는 HTML요청을 보내고, HTTP 응답에 담긴 HTML문서를 우리가 보기 쉬운 형태로 화면을 그려주는 역할을 한다.

웹 페이지는 HTML형식으로 되어있고, 웹 브라우저는 우리가 HTTP요청을 보내고, 응답받은 HTML코드를 렌더링 해주는 역할을 하다.

 

reauests
requests 라이브러리를 불러온 후, NAVER의 홈 페이지를 요청한 후 응답 받아보기

res = requests.get('https://www.naver.com')
헤더 확인
res.headers
body를 텍스트 형태로 확인
res.text

정보 갱신요청
res = requests.pos('주소')
상태코드 확인
res.status_code
200이 출력되면 정상적으로 처리 된 것.

웹 스크래핑-데이터 추출
웹 페이지들로부터 우리가 원하는 정보를 추출하는 것
-특정한 목적으로 특정 웹 페이지에서 데이터를 추출하는것
ex)날씨 데이터 가져오기, 주식 데이터 가져오기

웹 크롤링-데이터 색인
크롤러를 이용해서 웹 페이지의 정보를 인덱싱하는 것
-URL을 타고다니며 반복적으로 데이터를 가져오는 과정
ex) 검색 엔진의 웹 크롤러

robots.txt
웹 사이트 및 웹 페이지를 수집하는 로봇들의 무단접근을 방지하기 위해 만들어진 로봇 배제 표준이자 국제 권고안이다.

DOM(Document Object Model)
웹페이지에 대한 인터페이스
각 노드를 객체로 생각하면 문서를 더욱 편리하게 관리할 수 있다.
html을 dom으로 바꾸는 이유
1. 원하는 요소를 동적으로 변경해줄 수 있다.
2. 원하는 요소를 쉽게 찾을 수 있다.

 

느낀 점

대학교시절 웹크롤링을 잠깐 배웠었던 적이 있는데 비슷한 내용을 배운 기억이 새록새록 떠올랐다.

지금은 너무 오래되어서 잘 기억이 안나기에 집중해서 다시 공부해야겠다.

오늘은 다른 날들에 비해 비교적 양이 적어서 숨을 돌릴 틈이 생겼는데 어제 배운 html을 복습해야겠다.