{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# **날씨정보 API 수집**\n", "동네예보(2일), 중기예보(3일 ~), 미세먼지\n", "1. **.decode()** : Byte to String\n", "1. https://data.kma.go.kr/api/selectApiDetail.do\n", "1. http://www.weather.go.kr/weather/lifenindustry/sevice_rss.jsp\n", "1. http://www.airkorea.or.kr/web" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "odict_keys(['rss'])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import re, csv, xmltodict\n", "from urllib import request, parse\n", "id_area = \"109\" # 서울/경기지역 코드\n", "url_rss = \"http://www.weather.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=\"\n", "# Open and read HTMl / XML\n", "# xml = parse.unquote_plus(\n", "# parse.quote_plus(\n", "# request.urlopen(url_rss).read()))\n", "xml = request.urlopen(url_rss+id_area).read().decode('utf8')\n", "xml = xmltodict.parse(xml)\n", "xml.keys()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "OrderedDict([('title', '서울,경기도 육상중기예보'),\n", " ('tm', '202001160600'),\n", " ('wf',\n", " '기압골의 영향으로 19일에 눈이 오겠고, 그 밖의 기간에는 고기압의 가장자리에 들어 가끔 구름많겠습니다.
기온은 평년(최저기온: -9~-5℃, 최고기온: 1~2℃)과 비슷하거나 조금 높겠습니다.
강수량은 평년(0~1mm)과 비슷하거나 조금 많겠습니다.
서해중부해상의 물결은 24일에 1.0~3.0m로 높게 일겠고, 그 밖의 날은 1.0~2.5m로 일겠습니다.')])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xml['rss']['channel']['item']['description']['header']#['body'] #.keys()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[OrderedDict([('mode', 'A02'),\n", " ('tmEf', '2020-01-19 00:00'),\n", " ('wf', '흐림'),\n", " ('tmn', '-1'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf', '2020-01-19 12:00'),\n", " ('wf', '구름많고 눈'),\n", " ('tmn', '-1'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '60')])]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xml['rss']['channel']['item']['description']['body']['location'][1]['data'][:2]" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "odict_keys(['title', 'link', 'description', 'language', 'generator', 'pubDate', 'item'])" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xml['rss']['channel'].keys() #['item']['description']['body']['location'][1]['data'][:2]" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "OrderedDict([('header',\n", " OrderedDict([('title', '서울,경기도 육상중기예보'),\n", " ('tm', '201912150600'),\n", " ('wf',\n", " '이번 예보기간에는 고기압의 영향으로 맑은 날이 많겠습니다.
기온은 평년(최저기온: -7~-3℃, 최고기온: 3~5℃)과 비슷하거나 조금 높겠습니다.
강수량은 평년(0~1mm)보다 적겠습니다.
서해중부해상의 물결은 18일은 1.0~4.0m로 매우 높게 일겠고, 그 밖의 날은 1.0~2.0m로 일겠습니다.')])),\n", " ('body',\n", " OrderedDict([('location',\n", " [OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '서울'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '인천'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '0'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '수원'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '파주'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-8'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-8'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '이천'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '평택'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '백령도'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '1'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '1'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '1'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '1'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '0'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '0'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '3'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '3'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '5'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '4'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '과천'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '광명'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '강화'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '0'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '김포'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '2'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '2'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '1'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '1'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '시흥'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '안산'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '부천'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '의정부'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '고양'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '양주'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-9'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-9'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-8'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-8'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '동두천'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '연천'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '1'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '1'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-11'),\n", " ('tmx', '2'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-11'),\n", " ('tmx', '2'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '포천'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '가평'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-8'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-8'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-5'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '구리'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '남양주'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '양평'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '하남'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '안양'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '오산'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '화성'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '성남'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-6'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '의왕'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '2'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '2'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-8'),\n", " ('tmx', '2'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-8'),\n", " ('tmx', '2'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '군포'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '안성'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '7'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '용인'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-2'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-2'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '광주'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-1'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')])])]),\n", " OrderedDict([('@wl_ver', '3'),\n", " ('province', '서울ㆍ인천ㆍ경기도'),\n", " ('city', '여주'),\n", " ('data',\n", " [OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-18 12:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '0'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-19 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '5'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-20 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-21 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-7'),\n", " ('tmx', '3'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A02'),\n", " ('tmEf',\n", " '2019-12-22 12:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-5'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '10')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-23 00:00'),\n", " ('wf', '구름많음'),\n", " ('tmn', '-3'),\n", " ('tmx', '6'),\n", " ('reliability', None),\n", " ('rnSt', '30')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-24 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-4'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt', '20')]),\n", " OrderedDict([('mode', 'A01'),\n", " ('tmEf',\n", " '2019-12-25 00:00'),\n", " ('wf', '맑음'),\n", " ('tmn', '-3'),\n", " ('tmx', '4'),\n", " ('reliability', None),\n", " ('rnSt',\n", " '20')])])])])]))])" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xml['rss']['channel']['item']['description']" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Grab article titles and links using regex\n", "xmlTitle = re.compile(\"<title>(.*)</title>\")\n", "xmlLink = re.compile(\"<link>(.*)</link>\")\n", "\n", "# Find and store the data\n", "findTitle = re.findall(xmlTitle,xml)\n", "findLink = re.findall(xmlLink,xml)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "findTitle" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "a bytes-like object is required, not 'str'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0mwriter\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcsv\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwriter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"pytest.csv\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"wb\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0mhead\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m\"Title\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"URL\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 16\u001b[0;31m \u001b[0mwriter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwriterow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mhead\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 17\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0;31m# Using a For Loop, write the results to the CSV file, row by row\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: a bytes-like object is required, not 'str'" ] } ], "source": [ "#Iterate through the articles to create a range\n", "iterate = []\n", "iterate[:] = range(1, 25)\n", "\n", "# Open the CSV file, write the headers\n", "writer = csv.writer(open(\"pytest.csv\", \"wb\"))\n", "head = (\"Title\", \"URL\")\n", "writer.writerow(head)\n", "\n", "# Using a For Loop, write the results to the CSV file, row by row\n", "for i in iterate:\n", "\twriter.writerow([findTitle[i], findLink[i]])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "# **서울시 농수산 식품공사 API**\n", "1. https://www.garakprice.com/index.php?go_date=20191001 가락동 농산물 시세 Web\n", "1. http://www.garak.co.kr/gongsa/jsp/gs/intro/common.jsp JSP 호출주소\n", "\n", "**[서울시 농산물 공사 OpenAPI](https://www.garak.co.kr/publicdata/selectPageListPublicData.do?sch_public_data_realm_code=1)**\n", "\n", "```html\n", "http://www.garak.co.kr/gongsa/jsp/gs/data_open/data.jsp?id=2087&passwd=1004&dataid=data4&pagesize=10\n", "&pageidx=1&portal.templet=false&p_ymd=20190408&p_jymd=20190408&d_cd=2&p_jjymd=20130429\n", "&p_pos_gubun=1&pum_nm=\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **1 API 를 활용한 수집**\n", "가격정보를 **Xml API** 를 활용하여 수집" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# 문제점...\n", "# Page 를 순환하면서 1개의 객체만 있으면 list 갯수가 1개로만 출력\n", "\n", "# 해결방법... (https://rfriend.tistory.com/482)\n", "# 1개의 dict 을 DataFrame 변환 시, 데이터를 list로 변경해서 적용\n", "# 그래야 컬럼, 데이터와 \"인덱스\" 를 자동으로 계산할 수 있다." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 66/66 [00:10<00:00, 6.30it/s]\n", "100%|██████████| 16/16 [00:02<00:00, 6.66it/s]\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
품목명등급등급단위수량거래단위평균가격전년가격등락율(전년도)
0고구마010키로상자333994332977.0823236169770823236169770823236169771
1고구마110키로상자205283155665.0526048928888325516542020534922043352
2고구마210키로상자137512164763.5238139234074005635884880121956853144
\n", "
" ], "text/plain": [ " 품목명 등급 등급단위 수량 거래단위 평균가격 전년가격 \\\n", "0 고구마 특 0 10 키로상자 33399 43329 \n", "1 고구마 상 1 10 키로상자 20528 31556 \n", "2 고구마 중 2 10 키로상자 13751 21647 \n", "\n", " 등락율(전년도) \n", "0 77.0823236169770823236169770823236169771 \n", "1 65.0526048928888325516542020534922043352 \n", "2 63.5238139234074005635884880121956853144 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "date_info = '20191209'\n", "\n", "import pandas as pd\n", "from momukji import Garak\n", "xml_d_1 = Garak().getData(cd=1) # date_info, \n", "xml_d_2 = Garak().getData(cd=2) # date_info, \n", "xml_data = pd.concat([xml_d_1, xml_d_2]).reset_index(drop=True)\n", "xml_data.head(3)\n", "# xml_data.to_excel(\"data/food_Garak.xls\", index=None)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **2 Web 페이지를 활용한 수집기**\n", "https://www.garakprice.com/index.php?go_date=20191021\n", "1. 하지만 품목수가 부족해서 실익이 적음" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# https://www.garakprice.com/index.php?go_date=20191021\n", "from urllib import parse, request\n", "def urllib_request(url, params, encode='utf-8'):\n", " params = parse.urlencode(params).encode(encode)\n", " url = request.Request(url, params)\n", " resp = request.data/lopen(url).read()\n", " resp = parse.quote_plus(resp)\n", " return parse.unquote_plus(resp)\n", "\n", "# params = { \"go_date\":20191021 }\n", "# url = \"https://www.garakprice.com/index.php\"\n", "# urllib_request(url, params)[:500]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "# **기타 공산품 가격정보**\n", "\n", "**[Data.go.kr 공산품 가격정보](https://www.data.go.kr/dataset/3043385/openapi.do?lang=ko)**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **1 공산품 Id 정보수집**\n", "**[Data.go.kr 공산품 가격정보](https://www.data.go.kr/dataset/3043385/openapi.do?lang=ko)**\n", "1. **[한국소비자원 참가격](https://www.price.go.kr/tprice/portal/pricenewsandtpriceintro/iteminfo/getItemList.do)**\n", "1. **[유통상품지식뱅크](http://35.200.32.201/)**\n", "1. 분류기준 명확하게 찾기" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdName소분류코드용량용량구분
01072풀무원 동물복지 목초란(대란 10개)03010100110EA
11073목초를 먹고 자란 건강한 닭이 낳은 달걀(대란 15개)03010100115EA
21075CJ 더안심 건강란(대란 15개)03010100115EA
\n", "
" ], "text/plain": [ " Id Name 소분류코드 용량 용량구분\n", "0 1072 풀무원 동물복지 목초란(대란 10개) 030101001 10 EA\n", "1 1073 목초를 먹고 자란 건강한 닭이 낳은 달걀(대란 15개) 030101001 15 EA\n", "2 1075 CJ 더안심 건강란(대란 15개) 030101001 15 EA" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from momukji import Product\n", "item_list = Product().getList()\n", "item_list.head(3)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
012
0코드업태종목
111000농업(작물재배업)작물재배업
212101농업(축산업)축산 / 낙농
\n", "
" ], "text/plain": [ " 0 1 2\n", "0 코드 업태 종목\n", "1 11000 농업(작물재배업) 작물재배업\n", "2 12101 농업(축산업) 축산 / 낙농" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "url = \"http://ksetup.com/bbs/page.php?hid=code\"\n", "\n", "import re\n", "import pandas as pd\n", "from urllib import request, parse\n", "resp = request.urlopen(url).read()\n", "resp = parse.quote_plus(resp)\n", "resp = parse.unquote_plus(resp)\n", "table = re.findall(r'(.*?)
', resp, re.M|re.I|re.S)\n", "table = \"\" + table[0] + \"
\"\n", "table = pd.read_html(table)[0]\n", "# table.to_excel('company_code.xls', index=None, columns=None)\n", "table.head(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **2 공산품 인터넷 쇼핑몰 정보**\n", "1. 네이버 쇼핑/ 핫딜\n", "1. 다음쇼핑 등 정리한 내용 재정의 및 복습\n", "1. 유통정보센터 식품관련 데이터 수집 및 정리" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "# **급식메뉴 안내**\n", "**[Data.go.kr 공산품 가격정보](https://www.data.go.kr/dataset/3043385/openapi.do?lang=ko)**\n", "\n", "**[NEIS 급식메뉴 조회 수집 사이트](https://stu.gen.go.kr/sts_sci_md00_001.do?schulCode=F100000120&schulCrseScCode=4&schulKndScCode=04&ay=2019&mm=10)**\n", "```\n", "https://stu.gen.go.kr/sts_sci_md00_001.do?schulCode=F100000120&schulCrseScCode=4&schulKndScCode=04&ay=2019&mm=12\n", "\n", "https://stu.gen.go.kr/sts_sci_md00_001.do?\n", " schulCode=F100000120\n", " &schulCrseScCode=4\n", " &schulKndScCode=04\n", " &ay=2019\n", " &mm=10\n", "```" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'02'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"{:02d}\".format(2)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query = {\n", " \"schulCode\":\"F100000120\",\n", " \"schulCrseScCode\":4,\n", " \"schulKndScCode\":\"04\",\n", " \"ay\":2019, # 년도\n", " \"mm\":10 # 월\n", "}\n", "from urllib import parse, request\n", "url = \"https://stu.gen.go.kr/sts_sci_md00_001.do?\" + parse.urlencode(query)\n", "resp = request.urlopen(url).read()\n", "resp = parse.quote_plus(resp)\n", "resp = parse.unquote_plus(resp)\n", "resp[:200]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import re\n", "re.findall()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from menu_parser import MenuParser\n", "from school import School\n", "school = School(School.Region.GWANGJU, School.Type.HIGH, \"F100000120\")\n", "parser = MenuParser(school)\n", "menus = parser.get_menu()\n", "print(menus.today)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class School:\n", " class Region:\n", " BUSAN = \"stu.pen.go.kr\"\n", " CHUNGBUK = \"stu.cbe.go.kr\"\n", " CHUNGNAM = \"stu.cne.go.kr\"\n", " DAEJEON = \"stu.dge.go.kr\"\n", " DEAGU = \"stu.dge.go.kr\"\n", " GWANGJU = \"stu.gen.go.kr\"\n", " GYEONGBUK = \"stu.gbe.go.kr\"\n", " GYEONGGI = \"stu.goe.go.kr\"\n", " GYEONGNAM = \"stu.gne.go.kr\"\n", " INCHEON = \"stu.ice.go.kr\"\n", " JEJU = \"stu.jje.go.kr\"\n", " JEONBUK = \"stu.jbe.go.kr\"\n", " JEONNAM = \"stu.jne.go.kr\"\n", " KANGWON = \"stu.kwe.go.kr\"\n", " SEJONG = \"stu.sje.go.kr\"\n", " SEOUL = \"stu.sen.go.kr\"\n", " ULSAN = \"stu.use.go.kr\"\n", "\n", " class Type:\n", " KINDERGARTEN = 1\n", " ELEMENTARY = 2\n", " MIDDLE = 3\n", " HIGH = 4\n", "\n", " def __init__(self, school_region, school_type, school_code):\n", " self.region = school_region\n", " self.type = school_type\n", " self.code = school_code\n", "\n", "school = School(School.Region.GWANGJU, School.Type.HIGH, \"F100000120\")\n", "school" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class MenuParser:\n", " \n", " def __init__(self, school):\n", " self.school = school\n", "\n", " def get_menu(self, year=None, month=None):\n", " \"\"\"\n", " 해당 학교로부터 급식을 가져온다.\n", " year와 month가 모두 주어졌다면 해당하는 정보를 가져온다.\n", " 주어지지 않았을 때에는 자동으로 가져오게 된다.\n", " \"\"\"\n", " if year is None or month is None:\n", " today = datetime.date.today()\n", " url = self.__create_url(today.year, today.month)\n", " else:\n", " url = self.__create_url(year, month)\n", " page = self.__get_page(url); print(url)\n", " soup = BeautifulSoup(page, \"html.parser\")\n", " items = soup.select(\"#contents > div > table > tbody > tr > td > div\")\n", " return Menu(items)\n", "\n", " def __get_page(self, url):\n", " try:\n", " page = requests.get(url).text \n", " except Exception as e:\n", " logging.error(e)\n", " return page\n", "\n", " def __create_url(self, year, month):\n", " today = datetime.date(year, month, 1)\n", " url = f\"https://{self.school.region}/sts_sci_md00_001.do?\"\n", " url += f\"schulCode={self.school.code}&\"\n", " url += f\"schulCrseScCode={self.school.type}&\"\n", " url += f\"schulKndScCode={self.school.type:02d}&\"\n", " url += f\"ay={today.year}&\"\n", " url += f\"mm={today.month:02d}\"\n", " print(url)\n", " return url" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "parser = MenuParser(school)\n", "parser" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def __create_url(self, year, month):\n", " today = datetime.date(year, month, 1)\n", " url = f\"https://{self.school.region}/sts_sci_md00_001.do?\"\n", " url += f\"schulCode={self.school.code}&\"\n", " url += f\"schulCrseScCode={self.school.type}&\"\n", " url += f\"schulKndScCode={self.school.type:02d}&\"\n", " url += f\"ay={today.year}&\"\n", " url += f\"mm={today.month:02d}\"\n", " print(url)\n", " return url" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 교육청 코드\n", "school.region" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 학교종류\n", "school.type" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 개별 학교코드\n", "school.code" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\"schulKndScCode={:02d}\".format(4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **일일수집 해외 위해정보**\n", "http://www.foodsafetykorea.go.kr/riskinfo/board-collect-list.do\n", "1. Selenium 으로 해당 이벤트를 클릭한 뒤\n", "1. 상세페이지에서 해당 xls 파일 다운로드 받기" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "temp = datetime.today()\n", "temp.strftime('%Y%m%d')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "datetime.strftime(temp, '%Y%m%d')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **2 알라딘 중고책**\n", "api 크롤링을 사용한 데이터 수집" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from urllib import parse, request\n", "query = {\n", " \"SearchTarget\":\"UsedStore\",\n", " \"KeyWord\":\"머신러닝\",\n", " \"ViewType\":\"Detail\",\n", " \"SortOrder\":5, # 5:출시일순, 11:등록순\n", " \"ViewRowCount\":50,\n", " \"page\":1,\n", "}\n", "base_url = \"https://www.aladin.co.kr/search/wsearchresult.aspx?\"\n", "url = base_url + parse.urlencode(query, encoding='euc-kr')\n", "resp = request.urlopen(url).read() # url 의 response 수집\n", "resp = parse.quote_plus(resp) # byte 를 string 변환\n", "resp = parse.unquote_plus(resp, encoding='euc-kr') # string 인코딩\n", "# resp = parse.unquote_plus(resp, encoding='cp949') # string 인코딩\n", "resp" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "with open('book.html','w') as f:\n", " f.write(resp)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# decoding (기본값 utf-8)\n", "parse.unquote_plus('%C4%F6%C6%AE', encoding='cp949')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# encodings\n", "parse.quote_plus(\"퀀트\", encoding='cp949')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#
\n", "#