파이썬 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:
                
             
              