웹 기반 API로 제공되는 데이터를 가져와 데이터 프레임으로 변환하고 파일을 저장하는 과정까지 해보자!
저는 실습으로 경기데이터셋 홈페이지에서 학원 현황 데이터를 가져오겠습니다.
학원 현황 | 데이터셋 상세 Open API | 경기데이터드림
경기도 내의 시군별 학원에 대한 시설명, 전화번호, 소재지주소, 대표자명 등의 현황입니다.
data.gg.go.kr
API로 데이터 가져오기 위해선 로그인 후 인즈키를 받아주셔야 해요.
호출할 URL만들기
1. 요청 주소 찾기
2. 조회할 값은 호출 URL 뒤에 파라미터를 연결
호출 URL과 파라미터는 ? 로 연결한다.
파라미터와 값은 = 로 연결한다.
파라미터 사이는 & 로 연결한다.
--> 이러한 방식을 HTTP GET 방식이라고 한다.
HTTP GET 방식이란?
웹 브라우저가 웹 서버에 요청을 할 때 URL로 파라미터 값이나 데이터를 전달
문자 뒤에 연결된 파라미터와 값들을 쿼리 스트링(query string)이라고
3. requests 패키지를 이용해 호출한다.
requests 패키지란?
필요한 공개 API를 찾아서 파이썬 프로그램으로 호출
requests 패키지의 get()함수를 사용해서 APT 주소로 데이터를 받기.
json() 메서드를 사용해 파이썬 객체로 변환
r.status_code 200이 나오면 성공적으로 URL이 호출 된 것이다.
r.text는 응답으로받은 원본 텍스트 파일을 확인할 수 있다.
4. r.json() 으로 파이썬 객체로 변환
5. r.json() 으로 파이썬 객체를 df변수에 저장 후 key와 리스트로 원하는 데이터 찾기
6. for문으로 df['Tbinstutm'][1]['row']에 매핑된 리스트를 순회하며서 hackwons 빈 리스트에 추가
* 참고) for문을 한 줄로 list comprehension으로 작성할 수도 있다. for문과 같은 내용
7. 데이터 프레임에 저장
8. json파일로 내컴퓨터에 저장
정리) API호출을 위해서 requests 패키지의 get()함수를 사용해서 URL 주소로 데이터를 받고, json() 메서드를 사용해 파이썬 객체로 변환 후 데이터프레임으로 확인 하자
'데이터 수집' 카테고리의 다른 글
웹사이트에서 스크래핑할 때 주의점 (1) | 2024.01.29 |
---|---|
read_json()함수: JSON문자열을 데이터프레임으로 변환하기 (0) | 2024.01.25 |
json.dumps()함수와 json.loads()함수는 언제 쓰지? (1) | 2024.01.25 |
웹 서버(web server)란? (0) | 2024.01.25 |
API란? (1) | 2024.01.25 |