[Python] 가락 공판장 공공데이터 활용

서울특별시농수산식품공사 공공데이터 활용 – 경매결과

공공데이터 활용하기 위해 아래 링크를 통해 신청 및 승인을 득해야 한다.

https://www.garak.co.kr/publicdata/selectPageListPublicData.do

아래는 Python 개발 코드 이다.

import time
import requests
import xml.etree.ElementTree as ET
import math

def garak_xml(page, s_date, s_bubin, s_pummok, s_sangi):
    url = "http://www.garak.co.kr/publicdata/dataOpen.do?"

    params = (
        ('id', '3597'), # 신청 후 승인 완료 후, ID 입력
        ('passwd', '!qwer1234'), # 신청 후 승인 완료 후, PASSWD 입력
        ('dataid', 'data12'),
        ('pagesize', '10'),
        ('pageidx', page),
        ('portal.templet', 'false'),
        ('s_date', s_date),
        ('s_bubin', s_bubin),
        ('s_pummok', s_pummok),
        ('s_sangi', s_sangi)
    )

    response = requests.get(
        url,params=params
    )

    status = response.status_code

    if(status != 200):
        raise Exception("Solr has a problem")

    text = response.text
    return text

def garak(s_date, s_bubin, s_pummok, s_sangi):

    page = 1

    while True:
        text = garak_xml(page, s_date, s_bubin, s_pummok, s_sangi)
        root = ET.fromstring(text)
        list_total_count = root.find('list_total_count').text
        total_page = math.ceil(int(list_total_count) / 10)

        for item in root.findall('list'):
            PUMMOK = item.find('PUMMOK').text
            PUMJONG = item.find('PUMJONG').text
            PUM_NAME_IMSI =item.find('PUM_NAME_IMSI').text
            UUN = item.find('UUN').text
            DDD = item.find('DDD').text
            PPRICE = item.find('PPRICE').text
            SSANGI = item.find('SSANGI').text
            CORP_NM = item.find('CORP_NM').text
            ADJ_DT = item.find('ADJ_DT').text
            INJUNG_GUBUN = item.find('INJUNG_GUBUN').text
            print(PUMMOK,PUMJONG,PUM_NAME_IMSI,UUN,DDD,PPRICE,SSANGI,CORP_NM,ADJ_DT,INJUNG_GUBUN)

        if (total_page == page or total_page == 0):
            break
        time.sleep(1)
        page+=1

if __name__ == '__main__':
    '''
    서울청과    : 11000101
    농협(공)    : 11000102
    중앙청과    : 11000103
    동부팜청과  : 11000104
    한국청과    : 11000105
    대아청과    : 11000106
    '''
    #파라미터설명: 검색일(필수), 법인(필수), 품목(필수), 산지(선택)
    garak("20231026","11000103","고구마","")

Leave a Comment