정적 크롤링 - POST
POST
GET은 리소스 얻기, POST는 리소스 생성이다. webhook.site 홈페이지로 html test를 할 수 있다. 간단히 get 요청을 보내면 아래와 같은 결과를 볼 수 있다.
import requests as req
# 아래 url 은 해시값으로 사용자마다 다름
res = req.get('https://webhook.site/df793a18-18b4-415d-ae11-f8c2e5d8a007')
print(res.text)
쿼리 스트링을 같이 날려보자.
import requests as req
res = req.get('https://webhook.site/df793a18-18b4-415d-ae11-f8c2e5d8a007?name=hi')
print(res.text)
이번에는 post를 해본다.
import requests as req
url = "https://webhook.site/df793a18-18b4-415d-ae11-f8c2e5d8a007"
res = req.post(url)
data를 포함해서 POST로 데이터를 보내면, 그 데이터에 관한 정보가 headers에 포함되는 것을 볼 수 있다. content-length나 content-type 등을 볼수 있고, raw content는 form value를 보기 쉽게 나타낸 것이다.
POST로 이미지 업로드
HTTP는 문자열 덩어리인데, 이미지를 어떻게 HTTP로 보낼까? 이미지는 사실 RGB로 표현되는 문자열 데이터이다. 이미지를 HTTP 문자열로 보내기 위해서는 Multipart/form-data를 사용한다.