Codit Develop
Codit Develop
Codit Develop
전체 방문자
오늘
어제
  • 분류 전체보기 (146)
    • IT (1)
      • 스마트폰 (1)
    • Game (59)
      • DNF (0)
      • StarCraft2 (11)
      • LostArk (45)
      • Minecraft (3)
      • Elyon (0)
    • Develop (43)
      • Web (15)
      • PHP (2)
      • Laravel (0)
      • C# (11)
      • NodeJS (1)
      • Java (2)
      • Python (1)
      • Cordova (3)
      • Android (0)
      • WPF (1)
      • PowerShell (5)
      • Other (2)
      • Javascript (0)
    • OS (17)
      • Windows (6)
      • Linux (11)
    • Product (17)
      • Docker (10)
      • GitLab (3)
      • NuGet (2)
      • Git (1)
      • Nginx (1)
    • DB (7)
      • All-DB (2)
      • MariaDB (2)
      • MySQL (2)
      • Oracle (0)
      • MSSQL (1)
      • Cubrid (0)
    • PC (2)
      • 견적함 (2)
      • 정보 (0)

블로그 메뉴

    공지사항

    인기 글

    태그

    • 아르테미스
    • 오즈혼
    • 로스트아크
    • 뷰포인트
    • 모험의 서
    • 몬스터
    • 디펜스
    • jQuery
    • 유디아
    • db
    • JavaScript
    • css
    • 구릉지
    • 씨앗
    • 개복디
    • 서
    • MySQL
    • 히든
    • 개인복권디펜스
    • 모코코
    • c#
    • 스타2
    • 조합
    • docker
    • 모험의
    • web
    • 숨겨진
    • 모험의서
    • Linux
    • html

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    Codit Develop

    Codit Develop

    [Python] API 데이터 가져오기 (Requests)
    Develop/Python

    [Python] API 데이터 가져오기 (Requests)

    2021. 6. 10. 17:03
    반응형

    Python Request

    Python에서 REST API 데이터를 가져와야 할 경우가 있다.
    이때, Request Package를 사용하여 데이터를 쉽게 가져올 수 있다.

    Request 설치

    request 패키지를 설치해준다.
    (받을 데이터가 JSON 형식일 경우, json package도 함께 설치한다.)

    pip install requests
    pip install json

    Import Package

    최상단에 Package를 선언해준다.

    import requests
    import json

    GET Data

    REST-GET 방식으로 불러올 경우 requests.get을 사용하면 결과값을 변수로 받을 수 있다.

    > Request

    import requests
    import json
    
    # Request
    requestData = requests.get('REST API URL')

    > Import Header

    header를 선언해줘야 하는 경우 (Token 사용으로 인한 Authorization 설정 등)
    headers에 headers 값을 Dict 형식으로 포함시켜주면 된다.

    import requests
    import json
    
    # Setting Header
    headerDict = {}
    headerDict.setdefault('Authorization','TOKEN')
    paramDict = {}
    
    # Request
    requestDataWithHeader = requests.get('REST API URL',headers=headerDict)

    > Import Parameter

    전달해줘야 하는 Parameter가 있을 경우, params 항목을 추가시킨다.

    import requests
    import json
    
    # Setting Header
    headerDict = {}
    headerDict.setdefault('Authorization','TOKEN')
    paramDict = {}
    
    # Setting Param
    paramDict.setdefault('id','admin')
    paramDict.setdefault('password','1234')
    
    # Request
    requestDataWithHeader = requests.get('REST API URL',headers=headerDict,params=paramDict)

    POST Data

    REST-GET 방식과 동일한 방식으로, requests.post로 변경하기만 하면 된다.

    import requests
    import json
    
    # Request
    requestData = requests.post('REST API URL')

    Return Data

    > status_code

    request로 데이터를 받아온 후, status_code를 이용하여 연결 상태를 확인할 수 있다.

    import requests
    import json
    
    # Request
    requestData = requests.post('REST API URL')
    
    if requestData.status_code == 200 :
        print('Request OK')

    연결 상태는 정수형 뿐만 아니라, requests에서 지원하는 변수를 활용하여 비교할 수 있다.

    import requests
    import json
    
    # Request
    requestData = requests.post('REST API URL')
    
    if requestData.status_code == requests.status_code.ok :
        print('Request OK')

    해당 status_code에 대해서는 requests/status_codes.py 에 자세하게 서술되어 있다.

     

    > Json

    request로 받은 데이터는 기본적으로 String Text 형식으로 출력된다.
    해당 String을 Json 형식으로 변환하여 출력한다.

    import requests
    import json
    
    # Request
    requestData = requests.post('REST API URL')
    
    jsonData = None
    
    if requestData.status_code == requests.status_code.ok :
        jsonData = requestData.json()

    참고 문서

    Python Request

    반응형
    저작자표시 비영리 변경금지 (새창열림)
      Codit Develop
      Codit Develop
      내가 보려고 만든 개발 블로그

      티스토리툴바