외로운 Nova의 작업실

파이썬 requests 프로그래밍 - 1(기초) 본문

Programming/Python

파이썬 requests 프로그래밍 - 1(기초)

Nova_ 2022. 12. 10. 23:16

- 파이썬 requests 모듈 기초

<패키지 설치>

pip install requests

<임포트>

import requests

 

<메서드>

GET 방식: requests.get()
POST 방식: requests.post()
PUT 방식: requests.put()
DELETE 방식: requests.delete()

 

<응답상태>

응답상태는 객체의 status_code 속성으로 간단하게 얻을 수 있습니다.

>>> response = requests.get("https://jsonplaceholder.typicode.com/users/1")
>>> response.status_code
200
>>> response = requests.get("https://jsonplaceholder.typicode.com/users/100")
>>> response.status_code
404
>>> response = requests.post("https://jsonplaceholder.typicode.com/users")
>>> response.status_code
201

 

<응답 내용>

응답 내용(HTML파일)은 content 속성과 text 속성으로 볼 수 있습니다. 다만 content 속성은 바이너리 형태고 text는 UTF-8로 인코딩된 상태므로 text로 보는 것이 좋습니다. 

>>> response.text

 

<get 방식 요청 쿼리>

get 방식은 param 옵션을 사용하면 쿼리스트링을 사전의 형태로 넘길 수 있습니다.

>>> response = requests.get("https://jsonplaceholder.typicode.com/posts", params={"userId": "1"}

 

<post 방식 요청 쿼리>

post 방식은 data 옵션을 사용하면 form 포맷의 데이터를 전송할 수 있습니다. 사전의 형태로 넘깁니다.

>>> requests.post("https://jsonplaceholder.typicode.com/users", data={'name': 'Test User'})

 

<header 변경>

get 방식과 post 방식을 사용할때 header을 변경해줄 수 있습니다. 파이썬의 requests 라이브러리는 헤더를 많이 담지않아서 웹사이트에서 거부될 수 있습니다. 이에따라 자세히 헤더를 담아줄 수 있습니다.

header = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64)
	AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"}

requests.get(url, headers = header)

 

<cookie 변경>

쿠키또한 get, post 요청에 담아줄 수 있습니다.

cookie = { "uid" : "F6nZ2GOHAwKccnl1YEihdQ=="}

requests.get(url, cookies = cookie}

 

<int()함수>

int(value, base) : value(문자,실수) 등을 base 진법으로 인식해서 10진수로 변환 
ex) int("111", 2)는 111을 2진수값으로 인식해서 10진수 값인 7을 반환

<int.to_byte() 함수>

value 값을 10진수로보고 16진수 헥사값으로 변환시킵니다.이때 바이트 길이는 length 이고 byteorder(big-endian) 방식으로 변환해줍니다. 

int.to_bytes(value, length, byteorder='big', signed=False)
ex) int.to_bytes(15571128, 4, "big") 반환값 :  b'\x00\xed\x98\xb8'

 

<decode("utf-8")>

bytes.decode("") : hex값으로 표현된 bytes을 인자값 방식으로 decode 합니다.
ex) b'\xed\x98\xb8'.decode("utf-8") : '호'

'Programming > Python' 카테고리의 다른 글

파이썬 프로그래밍 정리  (0) 2023.01.21
Comments