TIL) 데브코스 7일차 - HTTP

Pori·2023년 10월 24일
0

데엔

목록 보기
2/47

HTTP

웹에서 정보를 주고 받기

  • 클라이언트와 서버의 형태
    • 클라 : 정보를 요청
    • 서버 : 정보를 제공
  • HTTP : hypertext transfer protocol → 웹에서 정보를 통신하기 위한 약속
  • Request와 Response를 통해 정보를 받게 된다.

web & HTTP

  • HTML : hypertext markup language
  • 원하는 내용이 들어있는 태그를 잘 확인해야 한다.

HTTP 통신 코드

  • get : 정보를 요청
import requests
res = request.get("https://www.naver.com")

res.headers # header정보 확인
res.text[:200] # body정보 확인
  • post : 정보 갱신을 요청
# https://webhook.site
import requests
payload = {"name" : "Hello", "age":13}
res = request.post("my_website",payload)

res.status_code

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

스크래핑: 웹페이지로부터 원하는 정보를 추출 → 데이터를 추출

크롤링: 크롤러를 활용해서 웹페이지의 정보를 인덱싱 → URL을 타고다니며 반복적으로 데이터를 가져오는 과정 → 데이터 색인

  • 스크래핑, 크롤링의 목적이 상업적이면 주의해야한다.
  • 해당 행동이 서버에 영향을 미치는 경우를 고려해야한다.
  • REP : 웹 크롤러들이 지켜야하는 규칙 (Robot Exclusion Protocol)
User-agent : * # 특정 에이전트를 명시해준다.
Disallow:/ # /는 순수하게 해당페이지만을 허락한다.
# 웹사이트 뒤에 /robots.txt를 입력하면 된다.
import requests

res = request.get("https://naver.com/robots.txt")
print(res.rext)

DOM

  • DOM (Document Object Model) : 웹 문서를 로드한 후, 파싱을 진행하는 모델, DOM Tree를 활용해서 동적으로 변경, 확인이 가능하다. ⇒ 파이선으로도 html을 파싱하는 도구가 필요하다.

새롭게 배운 내용

  • Get과 Post 요청을 구분하는 법을 배움
    • get : 정보의 요청
    • post : 정보의 갱신을 요청
  • 윤리적 웹 스크래핑
    • REP와 robot.txt를 이용하여 제약조건을 확인하는 방법.

느낀점&참고

: robot.txt를 처음 알게 되었다. 이부분은 생각하지 못하고 크롤링을 진행했던 터라, 다음부터는 잘 확인해야겠다.

0개의 댓글