2. 데이터 수집하기
1) API 사용하기
(1) API란
(2) JSON 다루기
(3) XML 데이터 다루기
(4) API 호출하기
1) API 사용하기
(1) API란
- API: 프로그램 간 데이터를 전달하기 위해 정한 규칙, 데이터베이스 접근 권한이 복잡한 데이터 접근 시 API를 사용
- HTTP: 웹에서 데이터를 주고받기 위한 프로토콜
- 웹 기반 API에는 JSON, XML을 많이 사용함
(2) JSON 데이터 다루기
- JSON: 데이터 전달 포맷, 읽기 편하고 간단하게 파이썬 객체로 변환할 수 있는 것이 장점
① {"키": "값"}
- JSON 형식의 파이썬 딕셔너리 생성하기
② json.dumps() 함수
- 파이썬 객체를 JSON 형식의 문자열로 변환하기
- 한글이 포함되어 있으면, ensure_ascii 매개변수 활용
③ json.loads() 함수
- JSON 문자열을 파이썬 객체로 변환하기
④ read_json() 함수
- JSON 문자열을 데이터프레임으로 변환하기
(3) XML 데이터 다루기
- XML: 엘리먼트(시작 태그와 종료 태그로 감싼 형태)들이 계층 구조를 이룬 형태
① fromstring() 함수
- XML 문자열을 파이썬 객체로 변환하기
- 시작 태그와 종료 태그의 이름은 동일해야 함
- 아래 코드는 <book> 부모 엘리먼트(노드)의 자식 엘리먼트 <name>, <author>, <year>로 구성됨
② findtext() 메서드
- 자식 엘리먼트 확인하기
- findtext() 메서드가 자식 엘리먼트를 자동으로 탐색하여 해당 엘리먼트로 매칭함
③ findall() 메서드와 for문
- 여러 개의 자식 엘리먼트 확인하기
(4) API 호출하기
① API를 호출하는 URL 작성
HTTP GET 방식 | ||
= 문자 | & 문자 | ? 문자 |
파라미터와 값 | 파라미터와 파라미터 | 호출 URL과 파라미터 |
② requests 패키지
- 파이썬으로 API 호출하기
'endDt': '2021-04-30',
'age': '20',
'pageNo': 1,
'pageSize': 200},
'resultNum': 200,
'numFound': 5000,
'docs': [{'doc': {'no': 1,
'bookname': '우리가 빛의 속도로 갈 수 없다면 :김초엽 소설 ',
'authors': '지은이: 김초엽',
'publisher': '허블',
'publication_year': '2019',
'isbn13': '9791190090018',
'addition_symbol': '03810',
'vol': '',
'class_no': '813.7',
'class_nm': '문학 > 한국문학 > 소설',
'bookImageURL': 'https://image.aladin.co.kr/product/19359/16/cover/s972635417_1.jpg',
'ranking': '2',
'bookname': '달러구트 꿈 백화점 :이미예 장편소설',
③ 데이프레임 출력
- 딕셔너리 구조를 변경하여 데이터프레임 형태로 출력하기
④ to_json() 메서드
- JSON 파일로 저장
[혼공분석] #2-2. 웹 스크래핑으로 데이터 수집하기
2. 데이터 수집하기 2) 웹 스크래핑 사용하기 (1) 웹 크롤링 (2) 검색 결과 페이지 가져오기 (3) HTML 찾기 (4) 뷰티플수프 (5) 여러 도서 쪽수 정보 찾기 2) 웹 스크래핑 사용하기 (1) 웹 크롤링 (= 웹 스
dataslog.tistory.com
'혼공학습단 > 혼자 공부하는 데이터 분석 with 파이썬' 카테고리의 다른 글
[혼공분석] #4. 데이터 요약하기 (1) | 2024.01.28 |
---|---|
[혼공분석] #3-2. 잘못된 데이터 수정하기 (1) | 2024.01.21 |
[혼공분석] #3-1. 불필요한 데이터 삭제하기 (0) | 2024.01.20 |
[혼공분석] #2-2. 웹 스크래핑으로 데이터 수집하기 (0) | 2024.01.14 |
[혼공분석] #1. 데이터 분석을 시작하며 (1) | 2024.01.05 |