02-1 API 사용하기
<API>
- 두 프로그램이 서로 대화하기 위한 방법을 정의한 것
- 두 프로그램이 데이터를 주고받는 규칙이 다르다면 올바르게 데이터를 처리하지 못한다.
<HTTP와 HTML>
- HTTP : 인터넷에서 웹 페이지를 전송하는 기본 통신 방법
- HTML : 웹 브라우저가 화면에 표시할 수 있는 문서의 한 종류이자 웹 페이지를 위한 표준 언어
<JSON 데이터 다루기>
[JSON]
- 파이썬의 딕셔너리와 리스트를 중첩해 놓은것과 비슷하다.
- 키와 값을 콜론으로 연결한다.
- 키와 값에 문자열을 쓰려면 항상 큰따옴표로 감싸주어야 한다.
EX) {"name" : "철수" }
파이썬 객체를 JSON 문자열로 반환하기 : json.dumps() 함수
import json
d = {"name":"철수"}
d_str = json.dumps(d,ensure_ascii=False)
print(d_str)
ensure_ascii : 아스키 형태를 유지할지 여부를 묻는 매개변수, False로 하면 원래 저장된 문자를 그대로 출력하도록 만들어 준다.
JSON 문자열을 파이썬 객체로 변환하기 : json.loads() 함수
d3 = json.loads('["name":"철수","age":12])
JSON 문자열을 데이터 프레임으로 변환하기 : json.loads() 함수
import pandas as pd
pd.read_json(d_str)
<XML 데이터 다루기>
[XML]
-eXtensible Markup Language의 약자
- HTML 웹페이지를 표현하는데는 뛰어나지만 구조적이지 못하기 떄문에 프로그램간의 약속대로 전송하는 API에서는 적절하지 않다.
- 대신 컴퓨터와 사람이 모두 읽고 쓰기 편한 문서 포맷을 위해 고안되었다.
- 엘리먼트들이 계층 구조를 이루면서 정보를 표현
- 엘리먼트는 시작 태그와 종료 태그로 감싼다.
EX)
<person>
<name> 철수 </name>
<age> 12 </age>
</person>
XML 문자열을 파이썬 객체로 변환하기 : fromstring() 함수
import xml.etree.ElementTree as et
book = et.fromstring(x_str)
자식 엘리먼트 확인하기 : findtext() 메서드
name = book.findtext('name')
age = book.findtext('age')
여러개의 자식 엘리먼트 확인하기 : findtext() 메서드와 for 문
for book in books.findall('book'):
name = book.findtext('name')
age = book.findtext('age')
<API를 호출하는 URL 작성하기>
- 공개 API를 사용하려면 호출 URL이 필요하다.
[호출 URL의 파라미터]
format : 지정하지 않으면 XML 문서로 반환된다.
startDt : 검색 시작 일자
endDt : 검색 종료 일자
age : 연령대
authKey : 인증키
- 파이썬에서는 API를 호출하기 위해서 requests 패키지를 이용한다.
import requests
r = requests.get(url)
data = r.json()
print(data)
02-2 웹 스크래핑 사용하기
<HTML에서 데이터 추출하기 : 뷰티플수프>
from bs4 import BeautifulSoup
improt requests
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
element = soup.find(XXX)
<웹 스크래핑할때 주의할 점>
1) 웹사이트에서 스크래핑을 허락했는지 확인하자. ( robots.txt 파일 확인)
2) HTML 태그를 특정할 수 있는지 확인하자.
'혼공단 > 혼공단 9기' 카테고리의 다른 글
[혼공단 9기] 혼자 공부하는 데이터 분석 with 파이썬 4주차 후기 및 미션 (0) | 2023.02.03 |
---|---|
[혼공단 9기] 혼자 공부하는 데이터 분석 with 파이썬 3주차 후기 및 미션 (0) | 2023.01.27 |
[혼공단 9기] 혼자 공부하는 데이터 분석 with 파이썬 2주차 후기 및 미션 (0) | 2023.01.16 |
혼자 공부하는 데이터 분석 with 파이썬 1장 - 데이터 분석을 시작하며 (1) | 2023.01.15 |
[혼공단 9기] 혼자 공부하는 데이터 분석 with 파이썬 1주차 후기 및 미션 인증 (0) | 2023.01.08 |