파이썬 requests 정리 및 사용법
python requests
request 패키지는 가장 많이 사용하는 라이브러리중 하나이며
request를 이용하면 쉽게 http 요청을 보낼수 있습니다.
패키지 설치
pip install requests
Request
기본적으로 아래와 같이 요청합니다. ※ requests.get()
res = requests.get(url)
res = requests.post(url)
res = requests.delete(url, data={'key':'value'})
res = requests.head(url)
res = requests.options(url)
상황에 맞게 헤더, 파일, 타임아웃 등 포함해
요청할 수 있습니다.
※ 요청시 timeout은 항상 포함시키는것이 좋습니다.
headers = {'User-Agent': 'Mozilla/5.0'}
timeout = 5
res = requests.post(url,headers=headers, timeout=timeout)
data = {'key1':val1 'key2':val2'}
files = [('image', (image.png, open(image.png, 'rb'), 'image/png', {'Expires': '0'}))]
headers = {'Authorization': token }
res = requests.post(url, headers=headers, files=files, data=data)
request 요청이 성공하면
응답상태 와 응답 데이터가 전송되어 옵니다.
응답데이터 Response Content
속성 | 설명 |
---|---|
status_code | 응답 상태를 확인할 수 있습니다. |
headers | headers정보를 확인합니다. |
cookies | cookies정보를 확인합니다. |
encoding | 데이터 인코딩을 확인할 수 있습니다. |
text | 'str 타입의 데이터 |
content | bytes 타입의 데이터 |
.json() | dict 타입의 데이터 일 경우 사용 |
NAVER
네이버 증권의 종목 통합검색창에서 검색시 사용되는
URL을 샘플로 테스트 했습니다.
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
timeout = 5
def get_stock(symbol):
url = 'https://ac.finance.naver.com/ac?q=%s&q_enc=euc-kr&t_koreng=1&st=111&r_lt=111' % symbol
return requests.post(url,headers=headers, timeout=timeout)
if __name__ == '__main__':
r = get_stock("ACTC")
print(r.status_code)
print(r.headers)
print("\n==========TEXT")
print("text - %s " % r.text[:100]) #UTF-8로 인코딩된 문자열
print("type - %s " % type(r.text))
print("\n==========CONTENT")
print("type - %s" % type(r.content))
print("content - %s" % r.content[:100])
print("\n==========JSON")
print("type - %s" % type(r.json()))
print("text - %s " % r.json()['query'])
print("\n==========EnCoding")
print("encoding - %s" %r.encoding)
r.encoding = 'ISO-8859-1'
print("\nencoding - %s" %r.encoding)
TAG: #requests #timeout #예제
Comments
Login: