Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Go
- 가상환경
- 데이터베이스
- TCP
- AWS
- PYTHON
- 파이썬
- 데이터엔지니어링
- sql
- dockerfile
- 데브코스
- 컴퓨터네트워크
- Docker
- HADOOP
- 정리
- 데이터 웨어하우스
- linux
- TIL
- airflow.cfg
- S3
- 자료구조
- 종류
- 데이터 파이프라인
- http
- airflow
- 운영체제
- 데이터 엔지니어링
- Django
- 컴퓨터 네트워크
- redshift
Archives
- Today
- Total
홍카나의 공부방
[DE 데브코스] 04.18 TIL - 웹 스크래핑을 위한 HTTP 기초 본문
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
https://hongcana.tistory.com/60
오늘 공부하며 어려웠던 내용
- 따로 없었다.
반응형
'Data Engineering > 프로그래머스 데브코스' 카테고리의 다른 글
[DE 데브코스] 04.20 TIL - 좋은 코드를 작성하려면?, Selenium (0) | 2023.04.20 |
---|---|
[DE 데브코스] 04.19 TIL - Beautifulsoup, Locater, 알고리즘 문제 (0) | 2023.04.19 |
[DE 데브코스] 04.17 TIL - HTML (0) | 2023.04.17 |
[DE 데브코스] 04.15 TIL - 팀미팅 1차, 반성.., 코딩테스트 문제 풀이(Heap, DFS/BFS, DP) (0) | 2023.04.15 |
[DE 데브코스] 04.14 TIL - ChatGPT 특강, 코딩테스트 연습(Hash, Greedy, Sort) (0) | 2023.04.14 |