[TIL 7일차] 데브코스 데이터엔지니어링

heering·2023년 4월 18일
0

TIL 7일차

🔎 실습 1

Colab에서 본격적인 스크래핑에 앞서 아주 간단한 POST, GET 요청 실습을 했다.

%pip install requests

### GET ###

import requests
res = requests.get("https://www.naver.com") # '200' means OK
res # HTTP response

res.headers

res.text # BODY를 text형태로 확인

### POST ###

payload = {"name": "J", "school": "University"}
requests.post("https://webhook.site/{본인 아이디}", payload)

📄 웹 스크랩핑과 웹 크롤링

  • 웹 스크랩핑: 웹 페이지들로부터 원하는 정보를 추출 (데이터 추출)
  • 웹 크롤링: 크롤러를 이용해 웹 페이지 정보를 인덱싱 (데이터 색인)

🤖 robots.txt

  • 웹 사이트 및 웹 페이지를 수집하는 로봇들의 무단 접근 방지
  • 로봇 배제 표준이자 국제 권고안

웹 스크랩핑 원칙
1. 요청하고자 하는 서버에 과도한 부하 주지 않기
2. 가져온 정보 사용 시에 저작권 & 데이터베이스권에 위배되지 않는지 주의

🔎 실습 2

naver의 robots.txt를 확인하는 실습을 진행했다!

import requests

res = requests.get("https://www.naver.com/robots.txt")
res.text

결과는 아래처럼 나왔다.

User-agent: *
Disallow: /
Allow : /$ 

각각의 의미는 다음과 같다.

  • User-agent: 규칙이 적용되는 대상 사용자 agent
  • Disallow: 크롤링 금지할 웹 페이지
  • Allow: 크롤링 허용할 웹 페이지 (여기서는 /로 끝나는, 즉 www.naver.com까지만 허용)

📰 DOM

  • 브라우저가 HTML을 DOM으로 바꾸면 좋은 점: 원하는 요소를 동적으로 변경해 쉽게 찾을 수 있음
  • 파이썬으로 HTML을 분석하는 HTML Parser가 필요

0개의 댓글