Python 19

데이터 분석 1 - 영화 흥행 요인 분석 2

.지난 포스팅에서는 영화 데이터를 불러와 전처리하는 과정을 순서대로 썼다. 이번 포스팅에서는 그렇게 만든 데이터를 가지고 실제로 분석하는 과정을 써보려고 한다. 우선 분석하려고 하는 내용을 다시 살펴보면 아래와 같다. 질문의 예시연도별 흥행 수익은?가장 흥행한 영화 TOP 10은?흥행에 가장 성공한 감독과 배우는?장르와 흥행 수익흥행 수익이 좋은 장르는?시간의 흐름에 따라 유행하는 장르가 바뀌는가?월별로 흥행하는 장르가 있는가?수익과 예산, 투표수, 평점과의 상관관계는?ROI(예산 대비 수익)가 높으면서 흥행에 성공한 영화의 특징은?    1. 연도별 흥행 수익은? data.groupby('year')[['revenue']].sum() 를 통해 연도별로 수익의 합을 구한다. 이때 만들어지는 데이터 프레임..

Python 2024.07.12

데이터 분석 1 - 영화 흥행 요인 분석 1

데이터 프레임을 공부했던 부분을 응용해 실제적으로 영화 데이터를 분석해보려고 한다. 우선 사용할 데이터는 2개의 csv파일로 'tmdb_5000_credits .csv ' 와 'tmdb_5000_movies.csv' 이다.    1. 데이터 살펴보기 먼저 두 파일을 불러와 열어본다. 첫번째가 movie 데이터, 두번째가 credits 데이터이다.movies = pd.read_csv('tmdb_5000_movies.csv')movies.head()credits = pd.read_csv('tmdb_5000_credits.csv')credits.head()    각 컬럼들을 정리해보면 다음 표와 같다. movie  credits  budget: 영화 예산 (단위: 달러)genres: 모든 장르homepage..

Python 2024.07.12

crawling 6 - BeautifulSoup

웹 크롤링을 하는 방법 중 지금까지는 파이썬의 pandas 라이브러리를 사용했었다. 하지만 pandas 외에도 BeautifulSoup 이라는 라이브러리를 사용할 수도 있다.     1. 크롤링할 웹사이트 request사용할 라이브러리는 아래와 같다. requests는 웹서버에 정보를 요청하는데 사용하고, BeautifulSoup는 데이터 파싱에 주로 사용한다. import requestsfrom bs4 import BeautifulSoup as bs 이동할 웹사이트는 네이버 검색창에 '제주도'를 입력했을 떄 뜨는 창이다. requests를 이용해 url을 전달해서 결과를 받아오고, BeautifulSoup을 사용하여 응답 본문을 HTML 파싱한다.파싱된 HTML은 soup 변수에 저장된다. 이때 sou..

Python 2024.07.12

API를 통한 데이터 수집

공공데이터 미세먼지 API공공데이터 API로 데이터 수집하기   1. 개요   데이터를 수집하는 방법은 지금까지처럼 크롤링을 사용하는 방법이 있고,또다른 방법으로 오픈 API를 받아오는 방법이 있다. 오픈 API란 누구나 사용할 수 있도록 공개된 API를 말한다. 간단히 말해서 공개된 데이터로, 적절한 url과 파라미터들이 있다면 누구든 사용할 수 있다. 실시간 업데이트 되는 데이터나, 그만큼 업데이트가 빈번한 대용량의 데이터가 필요할 때 유용한다.    이번 글에서는 공공데이터 포털 API를 활용하여 실시간 대기오염 정보를 받아오려고 한다. Python의 requests 라이브러리를 사용하였다.  가장 먼저, 공공데이터 포털에서 원하는 오픈 api를 활용신청을 받는다. 이 포스팅에선 아래와 같이, '한..

Python 2024.07.12

crawling 5 - SRT 예매 프로그램

SRT 예매 알림 프로그램SRT 예매 후, 예매가 완료되면 slack으로 알림받기 이 포스팅은 Selenium을 사용하여 SRT 예매 사이트에 로그인하고,원하는 날짜와 시간에 맞춰 예약을 완료한 후, 예약이 성공하면 Slack으로 알림을 보내줍니다.   1. 개요  srt의 로그인 화면으로 이동한다. 사용자에게 미리 아이디와 비밀번호를 받고, 아래 로그인 화면에 각각 입력하여 자동적으로 로그인이 되도록 한다.  일반 승차권 예매로 넘어가, 도착지를 설정한다. 출발할 날짜와, 시간을 선택하고 조회하기를 클릭한다.  아래 화면에서 예매가 성공한다면, slack으로 봇이 알림을 주도록 한다. 예매가 되지 않았다면, 예매가 될때까지 시간을 두고 계속 시도해본다.     2. 로그인  우선 필요한 라이브러리를 임..

Python 2024.07.11

crawling 4 - Google Playstore 리뷰 예제

Google Playstore 크롤링 Google Playstore에서 어플을 검색해, 리뷰를 크롤링   1. 개요   아래의 스크린샷을 보면 q = {배달의 민족} 으로 입력한 검색어가 들어간 꼴이다.즉, 사용자에게 검색할 어플명을 입력받아 q = {keyword}로 주면 해당 검색어를 입력한 것처럼 이동할 수 있다.  검색한 페이지에서 어플이름 혹은 아래의 파란 영역을 클릭하면 상세페이지로 이동한다.그리고 이동한 페이지에서 평가 및 리뷰 옆 화살표를 클릭하면 리뷰들을 스크롤해서 전부 볼 수 있다.  아래가 화살표를 클릭했을 때 나오는 페이지. 파란색으로 보이는 영역에서, "작성자명, 작성일, 평점, 내용, 몇명에게 도움이 되었나" 정보를 가져온다.     2. 기본 창 이동 브라우저를 플레이스토어로 ..

Python 2024.07.11

crawling 3 - YES 24 예제

YES 24 크롤링 베스트셀러 순위권의 정보 크롤링  1. yes24 베스트셀러 페이지     2. 베스트 셀러 데이터를 수집한다. 가져올 데이터 : 제목, 저자, 출판사, 출간일, 리뷰수, 평점데이터 class 이름 제목gd_name링크gd_name저자info_auth출판사info_pub평점yes_b  class 이름을 찾는 과정은 아래 스크린샷들을 참고 단 링크는, 이름을 클릭하면 연결되는 링크를 뜻하므로, 제목과 class 이름이 같다.    3-1. 코딩 - 홈페이지 이동 from selenium import webdriverfrom selenium.webdriver.common.by import Byurl = 'https://www.yes24.com/Product/Category/BestSell..

Python 2024.07.11

crawling 2 - DBPIA 예제

지난 포스팅에, 웹 크롤링의 기본과 코딩을 기록해두었다. 코드가 점차 하나씩 살이 덧붙여지는 과정을 순차적으로 기록하는 데에 주를 두었다. 분명 따라할 때는 어려운게 없었는데, 이후 여러예제를 하면서,한번에 코드를 완성하려고 욕심을 두는 경향이 있는걸 알게 되었다. 그래서 처음의 초기 코드부터 살을 붙여가며 코드를 완성하는 과정을 남기는 데에 힘써보려고 한다.   DBPIA 페이지 크롤링 DBPIA 논문에서 원하는 키워드를 입력하여 검색한다. 키워드에 따른 검색결과에서, 3페이지까지의 데이터 수집수집할 데이터 - (1) 제목 (2) 저자 (3) 링크url은  https://www.dbpia.co.kr/  키워드 입력 받아서, 화면 이동 > url 분석https://www.dbpia.co.kr/search..

Python 2024.07.11

crawling 1 - Selenium

1. 웹 크롤링 (Crawling)크롤링(Crawling)이란 기어다니다라는 뜻이 있다.그렇다면 웹 크롤링이란, 웹사이트를 돌아다니면서 정보를 탐색하고 수집하는 작업을 말한다. 즉, 웹을 기어다니며 데이터를 긁어 모은다고 생각하면 된다.    2. 사용한 툴 크롤링은 다루는 코드언어에 따라 다양한 방법으로 할 수 있다. 그 중에서도 파이썬, Selenium 라이브러리를 사용했다.    3. 시작 코드 - 기본 환경 설정 #설치!pip install selenium!pip install webdriver-managerfrom webdriver_manager.chrome import ChromeDriverManagerfrom selenium import webdriverbrowser = webdriver.C..

Python 2024.07.10

데이터 시각화 1

Python에서 데이터 시각화를 하기 위해 다음과 같은 두가지 라이브러리를 사용한다.matplotlib: 파이썬 데이터 시각화의 가장 기본적인 라이브러리. 유연하게 커스텀이 가능seaborn: matplotlib을 좀 더 쉽고 아름답게 시각화하는 라이브러리   1. 기본 문법 # 라이브러리 import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns#기초 plt 관련 문법plt.figure(figsize=(가로길이, 세로길이)) #그래프 크기 설정sns.000plot(data=데이터, x=X축 컬럼, y=Y축 컬럼, hue=범례 컬럼) #seaborn으로 그래프 그리기plt.title(제목) #제목 설정p..

Python 2024.07.05