student_developer
학생개발자의 IT Story
student_developer
전체 방문자
243,677
오늘
32
어제
62
반응형
  • 분류 전체보기 (187)
    • About Me (2)
    • IT NEWS (135)
      • Mobile NEWS (94)
      • laptop NEWS (3)
      • HW NEWS (4)
      • IT technology N.. (8)
      • IT company news (10)
    • OS || 운영체제 (1)
      • LINUX (1)
    • IT INFO (8)
      • Windows (5)
    • Programming (7)
      • C++ (1)
      • Python (3)
      • Project (1)
    • 일상 (7)
      • 일상 (6)
      • 이슈 (0)
    • 정보&꿀팁 (7)
    • IT & SW 칼럼 (1)

블로그 메뉴

    공지사항

    • 2020 새해 복 많이 받으세요^^
    • 소개

    인기 글

    • Samsung 갤럭시 버즈를 윈도우에서 제대로 사용해보자!⋯
      2021.01.02
      Samsung 갤럭시 버즈를 윈도우에서 제대로 사용해보자!⋯
    • 학교 인터넷 게임 사이트 차단 속도 저하 없이 우회하기!
      2019.12.20
    • [Review | Tip]딥러닝 기반 코드 자동완성 플러그⋯
      2019.12.12
      [Review | Tip]딥러닝 기반 코드 자동완성 플러그⋯
    • [하나은행]미성년자가 비자 체크카드와 외환/입출금 통장을 ⋯
      2019.02.07
      [하나은행]미성년자가 비자 체크카드와 외환/입출금 통장을 ⋯
    • [Minecraft Java Edition 1.16.5] ⋯
      2020.09.28
      [Minecraft Java Edition 1.16.5] ⋯

    태그

    • Samsung
    • 5G
    • 갤럭시 S10
    • ces2019
    • 갤럭시
    • 폴더블
    • Exynos 9820
    • 삼성 갤럭시 S10
    • 중국
    • Exynos
    • 삼성
    • 윈도우
    • ai
    • 삼성전자
    • Nvidia
    • samsung galaxy S10 Plus
    • 갤럭시 언팩 2019
    • 삼성 갤럭시
    • galaxy S10
    • 삼성 갤럭시 S10 플러스

    최근 댓글

    • 좋은 글 감사합니다.
      아이폰 14 pro max
    • 안녕하세요! 설치전 질문 있습니다. 보안부팅을 해제후에 설⋯
      ㅜㅜ
    • node.js 설치 확인해보세요
      IlllIIllIllIl
    • URL 주소는 어디서 찾아볼 수 있을까요?? 공공데이터 포⋯
      연빈
    • 리뷰 정말 잘 봤습니다. 블로거님 글 보니 저도 가격비교하⋯
      세일즈코리아

    최근 글

    • 삼성 갤럭시 GOS(Game Optimizing Servi⋯
      2022.03.04
      삼성 갤럭시 GOS(Game Optimizing Servi⋯
    • 삼성 Exynos 2200 공개!.. Samsung Xcl⋯
      2022.01.18
      삼성 Exynos 2200 공개!.. Samsung Xcl⋯
    • 삼성 갤럭시 S22 론칭 시점에 Exynos 2200 공개⋯
      2022.01.13
      삼성 갤럭시 S22 론칭 시점에 Exynos 2200 공개⋯
    • 삼성전자 CES 2022 티져 영상 공개
      2021.12.28
      삼성전자 CES 2022 티져 영상 공개
    • [Windows 11] 비정상적으로 느린 윈도우 업데이트 ⋯
      2021.11.21
      [Windows 11] 비정상적으로 느린 윈도우 업데이트 ⋯

    티스토리

    hELLO · Designed By 정상우.
    student_developer

    학생개발자의 IT Story

    Python으로 미세먼지 농도를 확인하자!
    Programming/Python

    Python으로 미세먼지 농도를 확인하자!

    2020. 3. 6. 17:05
    반응형

     

     

     

    안녕하세요? 학생 개발자 고기꿉자 입니다. 
    오늘은 공공데이터포털 API를 사용하여 미세먼지 농도를 파이썬에서 확인 해봅시다!

    공공데이터 포털 사이트: https://www.data.go.kr/

     

     

    공공데이터포털

    국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Dataset)와 Open API로 제공하는 사이트입니다.

    www.data.go.kr

    회원가입을 해주시고 로그인을 해주세요!

    데이터셋 -> 오픈API -> 미세먼지 검색 -> 한국환경공단_대기오염정보 -> 활용신청 -> 바로 동의 해주시고 신청 -> 마이페이지 -> 대기오염정보 조희 서비스를 접속해주세요!


    상세기능 정보에서 "측정소별 실시간 측정정보 조회"에서 "실행"을 눌러주세요

    "미리보기" 클릭!

    미세먼지 측정 데이터가 있습니다.

    정리하겠습니다.

    항목명(영문)

    항목명(국문)

    항목크기

    항목구분

    샘플데이터

    항목설명

    resultCode

    결과코드

    2

    1

    00

    결과코드

    resultMsg

    결과메세지

    50

    1

    NORMAL SERVICE.

    결과메세지

    numOfRows

    한 페이지 결과 수

    4

    1

    10

    한 페이지 결과 수

    pageNo

    페이지 번호

    4

    1

    1

    페이지 번호

    totalCount

    전체 결과 수

    4

    1

    60

    전체 결과 수

    items

    목록

    -

    0..n

    -

    목록

    dataTime

    측정일

    20

    1

    2016-04-20 14:00

    오염도측정 연-월-일

    시간: 분

    mangName

    측정망 정보

    10

    1

    도시대기

    측정망 정보

    (국가배경, 교외대기,

    도시대기, 도로변대기)

    so2Value

    아황산가스 농도

    10

    1

    0.007

    아황산가스 농도

    (단위 : ppm)

    coValue

    일산화탄소 농도

    10

    1

    0.4

    일산화탄소 농도

    (단위 : ppm)

    o3Value

    오존 농도

    10

    1

    0.043

    오존 농도

    (단위 : ppm)

    no2Value

    이산화질소 농도

    10

    1

    0.024

    이산화질소 농도

    (단위 : ppm)

    pm10Value

    미세먼지(PM10) 농도

    10

    1

    73

    미세먼지(PM10) 농도 (단위 : ㎍/㎥)

    pm10Value24

    미세먼지(PM10)

    24시간예측이동농도

    10

    1

    55

    미세먼지(PM10)

    24시간예측이동농도

    (단위 : ㎍/㎥)

    pm25Value

    미세먼지(PM2.5) 농도

    10

    1

    44

    미세먼지(PM2.5)  농도

    (단위 : ㎍/㎥)

    pm25Value24

    미세먼지(PM2.5)

    24시간예측이동농도

    10

    1

    31

    미세먼지(PM2.5)  

    24시간예측이동농도

    (단위 : ㎍/㎥)

     khaiValue

    통합대기환경수치

    10

    1

    75

    통합대기환경수치

    khaiGrade

    통합대기환경지수

    10

    1

    2

    통합대기환경지수

    so2Grade

    아황산가스 지수

    10

    1

    1

    아황산가스 지수

    coGrade

    일산화탄소 지수

    10

    1

    1

    일산화탄소 지수

     o3Grade

    오존 지수

    10

    1

    2

    오존 지수

     no2Grade

    이산화질소 지수

    10

    1

    1

    이산화질소 지수

    pm10Grade

    미세먼지(PM10)

    24시간 등급

    10

    1

    2

    미세먼지(PM10)

    24시간 등급자료

    pm25Grade

    미세먼지(PM2.5)

    24시간 등급

    10

    1

    2

    미세먼지(PM2.5)

    24시간 등급자료

    pm10Grade1h

    미세먼지(PM10)

    1시간 등급

    10

    1

    2

    미세먼지(PM10)

    1시간 등급자료

    pm25Grade1h

    미세먼지(PM2.5)

    1시간 등급

    10

    1

    2

    미세먼지(PM2.5)

    1시간 등급자료

    본격적으로 한번 만들어 볼까요?

     

     


    Python 버전

    3.5.*
    3.6.*
    3.7.*
    3.8.*

    Python 모듈

    pip install requests

    pip install pandas

     

     

    Python 소스코드

    import requests

    from bs4 import BeautifulSoup

    import pandas

    M = '&numOfRows=1&pageNo=1&stationName=측정소명&dataTerm=DAILY&ver=1.3'

    key = '발급받은api key'

    url = 'http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getMsrstnAcctoRltmMesureDnsty?serviceKey='+ key + M

     

    response = requests.get(url)

    soup = BeautifulSoup(response.text, "html.parser")

    ItemList = soup.findAll('item')

    for item in ItemList:

        a = item.find('datatime').text

        g = item.find('pm10value').text

        i = item.find('pm25value').text

        s = item.find('pm10grade1h').text

        t = item.find('pm25grade1h').text

        print('측정소: 측정소명')

        print('측정시간:'+ a)

        print('미세먼지 농도:'+ g +'㎍/㎥ ( ' + s + ' )')

        print('초미세먼지 농도:' + i +'㎍/㎥ ( ' + s + ' )')

        print('( 좋음: 1 ),( 보통: 2 ),( 나쁨: 3 ),( 매우나쁨: 4)')




    발급 받은 key는

    서비스 인증키에 있습니다!!

     

    측정소명은 여기 링크로 통하여 알수있습니다: https://www.airkorea.or.kr/index

     

    에어코리아

     

    www.airkorea.or.kr


    마지막으로 실행결과를 보여드리고 끝낼께여!

     



    이상으로 긴 글 읽어주셔서 감사합니다!
    사랑해요!

    반응형
      'Programming/Python' 카테고리의 다른 글
      • 최근에 발생한 코로나19 바이러스 실시간 조회입니다.
      • 네이버 실시간 검색어 크롤링 프로그램
      API, 공공데이터포털, 미세먼지, 미세먼지API, 미세먼지조회, 오픈API, 파이썬, 파이썬 API, 파이썬미세먼지
      student_developer
      student_developer
      최신 IT 동향 정보 및 뉴스, SW개발 분야, 게임 관련 뉴스 및 정보를 다루는 종합 IT & Culture 블로그
      댓글쓰기
      이전 글
      최근에 발생한 코로나19 바이러스 실시간 조회입니다.

      티스토리툴바