LIT_6 HTTP

여재우·2023년 10월 24일
0

LIT

목록 보기
7/21

LIT(Learn I Today) 내가 오늘 배운 것들에 대한 정리


HTTP

HTTP(HyperText Transfer Protcol)란 웹 상에서 정보를 주고받기 위한 약속.

  • HTTP요청(Request): 클라이언트에서 서버로 정보를 요청하는 것.
  • HTTP응답(Response): 요청된 정보에 대해 서버가 클라이언트에게 응답하는 것.
  • HTTP의 요청/응답에 대한 정보를 담는 Head와 내용물인 Body로 나뉜다.

웹 스크래핑

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

웹 크롤링

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

윤리적 웹 스크래핑, 웹 크롤링

  • 무턱대고 모든 사이트에 대해 모든 정보를 취득하는 것은 정당하지 않다.
User-agent: *
Disallow: /
# 모든 user-agent에 대해서 접근을 '거부'
User-agent: *
Allow: /
# 모든 user-agent에 대해서 접근을 '허가'
User-agent: MussgBot
Disallow: /
# '특정' user-agent에 대해서 접근을 '거부'

request 라이브러리

Python을 이용해서 간단히 HTTP 통신을 진행할 수 있는 라이브러리.


GET

정보를 달라고 요청하기

requests.get("_웹사이트 URL_")
>>> HTTP 응답이 담긴다.
# 성공시 HTTP 응답이 담긴다.
>>> <Response [200]>

POST

정보 갱신하는 것을 요청하기
ex) 로그인

# https://webhook.site 이 사이트의 개인 URL을 받아서 POST가 잘 되었는지 확인

payload = {"name": "Hello", "age": 13}

res = requests.post("_개인 URL_", payload)

# JSON방식의 통신
profile
꾸준히 학습하고 기록하기 위한 log

0개의 댓글