라즈베리파이 4 #7

jjinny_0609·2023년 3월 9일
0

라즈베리파이

목록 보기
8/8

어제 내용 복습

Python3 샘플 코드

import requests
from urllib.parse import unquote

url = 'http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getUltraSrtNcst'
params ={
    'serviceKey' : unquote('MhbDPOYDZtlZbBdADrT1Rk0b2P4tAbBxySM6fWkMfJvQSM7r6c1SS9MSpYNJtpbsuCdpMdDfK7cwIyOGiNegGQ==
'),
    'pageNo' : '1',
    'numOfRows' : '1000',
    'dataType' : 'JSON',
    'base_date' : '20230308',
    'base_time' : '0600',
    'nx' : '55',
    'ny' : '127'}
    # '서비스키'에 : unquote 앞에 붙이고 본인 해당키 값'
    
    response = requests.get(url, params=params)
	print(response.content)

base_data
인코딩 되어있는걸 디코드 작업을 위해서 unquote를 사용

원하는 데이터 값만 뽑아서 사용하는 예제

from urllib.parse import urlencode, unquote
import requests
import json

url = "http://newsky2.kma.go.kr/service/SecndSrtpdFrcstInfoService2/ForecastGrib"
queryString = "?" + urlencode(
    {
        "ServiceKey" : unquote("MhbDPOYDZtlZbBdADrT1Rk0b2P4tAbBxySM6fWkMfJvQSM7r6c1SS9MSpYNJtpbsuCdpMdDfK7cwIyOGiNegGQ==
"), 
        "base_date" : "20190407", 
        "base_time" : "1200", 
        "nx" : "59", 
        "ny" : "127", 
        "numOfRows" : "10", 
        "pageNo" : "1", 
        "_type" : "json" 
    }
)

response = requests.get(url + queryString)
print("===== response json data start =====")
print(response)
print("===== response json data end =====")
print()

r_dict = json.loads(response.text)
r_response = r_dict.get("response")
r_body = r_response.get("body")
r_items = r_body.get("items")
r_item = r_items.get("item")

result = {}
for item in r_item:
    if(item.get("category") == "T1H"):
        result = item
        break
        
print("===== response dictionary(python object) data start =====")
print(result)
print("===== response dictionary(python object) end =====")
print()
profile
뉴비 개발자 입니다. velog 주소 : https://velog.io/@jjinny_0609 Github 주소 :

0개의 댓글