지금, 나는 

Art is anything you can get away with.

Programming/혼공분석 9기.py

2주차 데이터 수집

hyuckee 2023. 1. 12. 23:29
반응형

1주차에서 살펴봤듯이

제공되는 데이터베이스는 보통 CSV 혹은 JSON, XML 형식이다.

하지만 일반 개인이 DB로의 직접 접근을 허용하지는 않고

API라는 방식을 통해 간접적으로 이용할 수 있게 한다.

웹 기반 API에는 CSV보다 JSON이나 XML을 많이 사용한다.

 

웹 기반 API 즉, HTTP를 이용하게 되면

데이터는 텍스트 형식으로 전달된다.

따라서 데이터를 받은 후 파이썬 객체로 바꿔야 한다.

인증키를 받고, HTTP GET 방식으로 호출 URL을 작성하면 해당 파일을 열람할 수 있다.

 

이후 이 데이터는 그대로 사용하지 않고

다루기 쉽고, 보기 좋은 형태로 정제해야 한다.

 

하지만 데이터베이스에 원하는 정보가 없고,

웹에서 하나하나 얻어야 한다면

웹크롤링(웹 스크래핑)이라는 방법을 사용해야 한다.

따라서 이때는 적어도 html 문법을 조금이라도 알아야 한다.

선택 미션

하지만 크롤링은 결국 자동화 프로그램의 일종이라

웹 서버에 부담이 갈 수 있고, 이는 접속 차단을 야기할 수 있다.

따라서 해당 사이트가 크롤링을 허락했는지 확인해야 한다.

 

데이터베이스 행 또는 열 수만큼 크롤링을 하고

데이터베이스에 시리즈 객체를 합치면 원하던 자료가 된다.

 

 

웹 크롤링이 처음 보면 쉽게 이해되는 작업이 아닌데

여기서는 비교적 간단히 설명해서 신기하다.

결국은 웹 페이지의 html 문서를 따와서 필요한 부분만 찾아오게끔 하는 과정이다.

 

파이썬의 여러 라이브러리로 html을 분석하기에 어렵게 느껴졌던 것 같다.


기본 미션 #1

데이터프레임 df에 대해 df.loc[행 인덱스, 열 이름] 메서드는 원하는 행과 열을 추출하는 메서드다.

여기서 행 인덱스열 이름 매개변수에는 리스트 형식 혹은 슬라이스 연산자(:)로 전달된다.

따라서 문제의 4번은 ::2 에 의해 다른 보기와 달리 2의 스텝으로 추출된다.

728x90

'Programming > 혼공분석 9기.py' 카테고리의 다른 글

6주차 객체지향 API 방식으로 그래프 그리기  (0) 2023.02.13
5주차 pyplot  (1) 2023.02.06
4주차 통계  (0) 2023.01.30
3주차 정리  (1) 2023.01.16
데이터 분석 1주차  (0) 2023.01.02