web/python & JavaScript

python requests parsing

3hoon 2022. 10. 21. 12:23

앞에선 서울시 미세먼지 api값을 ajax를 통해 가져왔는데

파이썬의 requests 라이브러리를 사용하면 더 간결하게 데이터를 가져올 수 있다.

 

json api parsing

import requests

URL = 'http://spartacodingclub.shop/sparta_api/seoulair'
response = requests.get(URL)
status = response.status_code
text = response.json()
print(text)
print(status)

url링크 : http://spartacodingclub.shop/sparta_api/seoulair

requests get 방식으로 url의 데이터를 받아왔고

json()을 통해 python에서 사용할 수 있는 딕셔너리 형태로 파싱했다.

 

import requests

URL = 'http://spartacodingclub.shop/sparta_api/seoulair'
response = requests.get(URL)
status = response.status_code
text = response.json()['RealtimeCityAir']['row']

for texts in text:
    print(texts['MSRSTE_NM'], texts['IDEX_MVL'])

json()으로 딕셔너리 형태로 파싱한 덕분에 받아온 데이터를 자유롭게

조작할 수 있었다.

xml api parsing

json데이터를 파싱해보던 도중 그렇다면 xml 데이터는 어떻게 파싱을 할까?

라는 고민이 들었고 테스트를 해보았다.

import requests

URL = 'http://openapi.seoul.go.kr:8088/{key입력}/xml/TbPublicWifiInfo/0/5'
response = requests.get(URL)
text = response.text

print(text)

파싱한 데이터는 서울시 공공와이파이 관련한 api인데 json()이 아닌

text형식으로 받아왔다.

python에서 xml데이터를 파싱할 방법에 대해 구글링을 해봤는데

까다로운 것을 보았을때 왜 xml보다 json을 선호하는지 알 것 같다.

 

*xml데이터를 다루는 방법에 대해선 추후에 업데이트 예정