홍카나의 공부방

[DE 데브코스] 04.18 TIL - 웹 스크래핑을 위한 HTTP 기초 본문

Data Engineering/프로그래머스 데브코스

[DE 데브코스] 04.18 TIL - 웹 스크래핑을 위한 HTTP 기초

홍문관카페나무 2023. 4. 18. 14:52

HTTP

  • hypertext transfer protocol은 웹 상에서 정보를 주고 받기 위한 하나의 프로토콜이다.
  • 이미지, 동영상, 오디오, 텍스트를 포함한 Hypertext 즉, Hyperlink와 같은 링크 기반의 데이터를 주고 받기 위한 프로토콜이다.
  • FTP, 텔넷 등이 들어있는 OSI Layer 7(응용 계층)에 속해있다.
  • GET과 같은 request를 넣어서 서버의 정보를 얻게 된다.
  • server에 request를 넣으면 이에 대한 response를 서버가 보내게 되는데, HTML 문서의 데이터 형태를 주고 받게 된다.
  • 전공의 컴퓨터 네트워크 수업에서는 딱히 깊게 배우지 않는 프로토콜이다. ( 이는 컴퓨터네트워크 수업의 핵심 주제인 TCP/IP의 내용만 제대로 다뤄도 한 학기가 부족하기 때문이다. )

 

웹 사이트 vs 웹 페이지

  • 웹 속에 있는 문서 하나는 웹 페이지, 이러한 웹 페이지들의 모음은 웹 사이트라고 지칭한다.
  • 크롬같은 웹 브라우저는 HTML 요청을 보내고, 응답에 담긴 HTML 문서를 우리가 보기 쉬운 형태로 화면에 렌더링하는 역할을 맡는다. ( 만약 화면에 그려주지 않고 그냥 HTML 코드 형태로 띄우면 우리가 알아볼 수 없을 것이다. )
  • HTTP, HTTPS 등의 상세 내용은 다른 글에서 정리했다.
  • Python 에서는 requests library를 이용하여 HTTP 요청, 응답을 쉽게 이용할 수 있다.
import requests

r = requests.get("https://www.naver.com")  # get 요청
print(r)  # response 200, 응답이 담김

payload = {"name": "test", "age": 25}  # POST 요청에 담길 payload 내용
requests.post(
    "https://webhook.site/들어가서 분배해주는 주소", data=payload)

 

웹 크롤링 vs 스크래핑

  • 웹 페이지로부터 원하는 정보를 추출하는 것을 웹 스크래핑이라고 한다.
  • 웹 크롤링은 크롤러를 이용해서 URL을 타고 다니며 여러 웹 페이지의 정보를 인덱싱하는 것이다.
  • 웹 크롤링/스크래핑 도중에 서버에서 access를 거부당하지 않으려면, HTTP Header를 약간 바꿔야한다.
  • HTML Parser로 BeautifulSoup4 모듈을 이용한다.

 

오늘자 데브코스의 학습 내용이 비교적 적어서 추가적으로 컴퓨터 네트워크 수업에 대한 정리를 진행했다.

https://hongcana.tistory.com/58

 

[컴퓨터 네트워크] 9. 인터넷, WWW, HTTP, HTTPS, SMTP, IMAP, POP

이 글에서 다루는 주제들은 컴퓨터 네트워크 전공 수업에서 다뤘던 주제는 아니지만 별도의 책을 통해 정리한 개념이다. https://hongcana.tistory.com/13 [컴퓨터 네트워크] 0. 컴퓨터 네트워크 개요, 무

hongcana.tistory.com

https://hongcana.tistory.com/60

 

[컴퓨터 네트워크] 10. DHCP 개념과 과정

DHCP Dynamic Host Configuration Protocol DHCP는 특정 호스트가 인터넷을 사용하기 위한 정보들을 제공하는 프로토콜이다. DHCP서버는 다음과 같은 4가지 정보를 제공하는데, 이는 Host가 인터넷을 사용하기

hongcana.tistory.com

 

 

오늘 공부하며 어려웠던 내용

  • 따로 없었다.
반응형