[혼공 데이터 분석] chapter 2.

회색몽구스·2023년 7월 12일
0

02-1 API 사용하기

API란

두 프로그램이 서로 대화하기 위한 방법을 정의한 것으로 인증된 URL만 있으면 언제든지 필요한 데이터에 편리하게 접근할 수 있는 방식입니다.

우리는 HTTP 프로토콜을 사용해 만든 웹 기반 API를 사용하는 방법으로 접근해 봅시다.

파이썬에서 JSON 데이터 다루기

파이썬의 내장 라이브러리인 json을 이용

  • 파이썬 객체를 JSON 문자열로 변환하기: json.dump() 함수
  • JSON 문자열을 파이썬 객체로 변환하기: json.loads() 함수
  • JSON 문자열을 데이터프레임으로 변환하기 - 판다스 패키지: read_json() 함수

파이썬에서 XML데이터 다루기

파이썬의 내장 라이브러리인 xml을 이용

import xml.etree.ElementTree as et
  • XML 문자열을 파이썬 객체로 변환하기: fromstring() 함수
  • 자식 엘리먼트 확인하기: findtext() 함수
  • 여러 개의 자식 엘리먼트 확인하기: findall() 메서드와 for문을 함께 사용하여 XML을 순회하며 동일한 이름을 가진 여러 개의 자식 엘리먼트를 찾기

API로 20대가 가장 좋아하는 도서 찾기

이사님이 혼공분석님께 주신 미션

  • 파이썬으로 API 호출하기: requests 패키지
  • get() 함수를 이용하여 API 호출의 결과를 담고 있는 Response클래스 객체를 얻어
  • json() 메서드로 호출의 결과로 받은 JSON을 파이썬 객체로 변환
  • JSON으로 변환하여 저장하기 - 판다스 패키지: to_json() 함수

02-2 웹 스크래핑 사용하기

프로그램으로 웹사이트의 페이지를 옮겨 가면서 데이터를 추출하는 작업을 이용해서 이사님의 미션을 해결해 봅시다.
이전 절에서 사용했던 검색 결과는 gdown 패키지를 이용해서 불러 옵시다.

판다스를 이용

  • 데이터프레임 행과 열 선택하기: loc메서드
  • 선택한 도서의 검색 결과 페이지 HTML 가져오기: requests.get() 함수

HTML에서 데이터 추출하기: BeautifulSoup

  • 크롬 개발자 도구로 HTML 태그 찾기
from bs4 import BeautifulSoup
  • 태그 위치 찾기: find() 메서드
  • 테이블 태그를 리스트로 가져오기: find_all() 메서드
  • 태그 안의 텍스트 가져오기: get_text() 메서드

여태까지 공부했던 것을 함수로 만들어볼까요?

판다스를 이용

  • 데이터프레임 행 혹은 열에 함수 적용하기: apply() 메서드
  • 데이터프레임과 시리즈 합치기: merge() 함수

확인 문제 1번

profile
끄아아아아 할 수 있다

0개의 댓글