-API
접근 권한 제한 등의 이유로 db에 접근이 어려울 시 인증된 url만 있으면 데이터에 접근할 수 있는 방식
프로그램 간 데이터 전송 규칙 규정
-HTTP
웹페이지 전송 통신 규약
웹데이터 요청(HTTP)
<-------------------
웹 서버 웹브라우저
-------------------->
웹데이터 전송(HTML)
-웹기반 API(HTTP 프로토콜을 사용하는 API)
웹데이터 요청(HTTP)
<-------------------
웹 서버 웹브라우저
-------------------->
웹데이터 전송(CSV,JASON,XML)
-JSON 데이터
키:값
json_loads(): json 문자열을 파이썬 객체로 변환
-XML 데이터
부모/자식
시작/종료 태그
element
xml 문자열을 a변수에 저장
fromstring() 함수 사용해 a 문자열을 xml(book)로 변환
book 객체를 리스트로 변환하여 자식 엘리먼트 구함
book_child 리스트의 각 항목을 name,author,year 변수에 할당하여 text 속성으로 엘리먼트에 있는 텍스트 출력
findtext() 사용하여 출력 가능
book 엘리먼트가 여러개일 때->배열과 같은 구조가 없기 때문에 부모 엘리먼트 사용
부모 엘리먼트 확인
findall() 과 for문 사용해 여러개의 자식 엘리먼트 확인
-API를 호출하는 url
공개 api를 사용하기 위해 호출 url이 필요.
호출 url=> http://data4library. kr/api/loanItemSrch?format=json&startDt=2021-04-01&endDt=2021-04-30&age=20&authKey=[발급받은 키]
-파이썬으로 api 호출:requests 패키지 사용
import requests
url="http://data4library. kr/api/loanItemSrch?format=json&startDt=2021-04-01&endDt=2021-04-30&age=20&authKey=[발급받은 키]"
r=requests.get(url)
*json 문자열을 파이썬 객체로 변환하여 반환
data=r.json()
print(data)
*data 딕셔너리의 구조 변경->books 딕셔너리로
books=[]
for d in data['response']['docs']:
books.append(d['doc'])
*데이터 프레임에 리스트 저장하기
book_df=pd.DataFrame(books)
books_df
*json으로 변환하여 저장하기
books_df.to_json('20sbook.json')
데이터 분석 공부 #4 (0) | 2023.07.10 |
---|---|
데이터 분석 공부 #3 (0) | 2023.07.09 |
데이터 분석 공부 #1 (0) | 2023.07.05 |
KBO MVP 예측 프로젝트 (0) | 2022.12.29 |
야구 스탯(BASEBALL STATS) (0) | 2022.11.09 |
댓글 영역