728x90
- JSON(JavasSript Object Notation)
- 자바스크립트 프로그래밍 언어 부분에 기반
- 데이터를 효율적으로 저장하고 교환하는 데 사용하는 텍스트 데이터
- 사람이 읽고 쓰기에 쉬우며 컴퓨터가 파싱하고 생성하기도 쉬움
- 이름&값의 집합, 정렬된 값의 리스트의 구조로 이루어짐
- 파이썬의 리스트와 튜플이 JSON으로 변환하게 되면 array로 바뀜
- (JSON의 array는 파이썬의 리스트로 변환하게 됨)
- 파이썬에서 JSON을 다루려면 내장 모듈 JSON이 필요함 (import json)
import json
# JSON형식의 데이터를 열어 파이썬 객체로 읽기
with open('파일명.json') as json_file :
json_data = json.load(json_file)
json_data
- 파이썬 객체를 JSON 문자열로 변환
st_json = json.dumps(student_data, indent = 4, sort_keys = True)
- 낮은 가독성 : indent로 들여쓰기 설정
- 키를 기준으로 정렬 : sort_keys = True
- OPEN API
- 인터넷 이용자가 웹 검색 결과 및 사용자 인터페이스 등을 수동적으로 제공받는데 그치지 않고 직접 응용 프로그램과 서비스를 개발할 수 있도록 공개된 API
- (= 인터넷 이용자가 웹 검색 결과 즉 데이터를 우리가 지정한 조건에 맞게끔 가져올 수 있는 도구)
- 해당 업체에서 제공해주는 key가 필요함
- 너무 과도한 사용이나 무분별한 사용을 막고 관리하기 위함
- 해당 업체에서 가이드라인(참고문서) 제공
import requests
url = "http://www.kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=50ee936c7380f8675b6bb4de9a74212e&targetDt=20200501"
# 정보저장
res = requests.get(url)
# 인간이 확인할 수 있는 형식으로 변환하기 위해 text함수 사용
text = res.text
# json 형식으로 변환
MD_json = json.loads(text) # MD = MOVIE DATA
print(json.dumps(MD_json, indent = 4, sort_keys = True))
- MD_json.keys() : 해당 json형식의 key 출력
- 크롤링 vs API
- 크롤링
- 브라우저를 통해 사용하던 웹 문서(HTML)를 파이썬으로 요청
- BeautifulSoup으로 웹 문서 구조 형태로 변형
- 선택자를 활용하여 원하는 데이터 활용
- API
- 데이터를 교환하기 위한 JSON 파일을 파이썬으로 요청
- JSON을 쉽게 파이썬 문법(List/Dictionary)로 변형
- 데이터 구조를 활용하여 원하는 데이터 활용
- 요청을 통해 특정 기능을 제어하기도 함
728x90
'PROGRAMMING > PYTHON' 카테고리의 다른 글
[Python] 객체 지향 프로그래밍(OOP) (0) | 2021.07.30 |
---|---|
[Python] 정규 분포, 확률 분포, 사분위 수 (0) | 2021.05.10 |
[Python] Matplotlib (0) | 2021.04.26 |
[Python] Pandas 다루기 - 범죄 현황 데이터 (0) | 2021.04.26 |
[Python] Pandas 다루기 - 카테고리 데이터 (0) | 2021.04.26 |
댓글