목록데이터 분석 (51)
RUBY

웹 데이터 수집하고 정리하기 Oil Price Analysis and Green construction 4. 데이터 접근하기 1. selenium 설치이~ !pip install selenium 2. 페이지 접근하기 from selenium import webdriver url = "https://www.opinet.co.kr/searRgSelect.do" driver = webdriver.Chrome("../driver/chromedriver") driver.get(url) 3. 지역: 시/도 sido_list_raw = driver.find_element_by_id("SIDO_NM0") sido_list_raw.text 4. 서울특별시! sido_list[1].get_attribute("value")..

웹 데이터 수집하고 정리하기 Oil Price Analysis and Green construction 3. 데이터 확보하기 1. 대한민국 주유 가격을 알아보는 사이트이다. 목표 데이터는 브랜드, 가격, 셀프 주유 여부, 위치 이다. https://www.opinet.co.kr/user/main/mainView.do 싼 주유소 찾기 오피넷 www.opinet.co.kr 2. 싼 주유소 찾기 - 지역별 3. 지역에서 광역시도와 시구 정보를 입력한다. - 지도가 바뀌고, 또 잠시 후 주유소 정보가 로딩된다. 4. 셀프 여부를 알려주고 있고 휘발유 가격도 나온다. - 상표와 주소 정보를 다루기가 약간 까다로워 보인다. - 엑셀 파일에는 원하는 모든 정보가 존재한다. 5. 마우스를 클릭하며 지역을 선택해야한다...

웹 데이터 수집하고 정리하기 Oil Price Analysis and Green construction 2. Selenium 기초 셀레니움을 이용해보자.. 1. 크롬드라이버 실행 webdriver.Chrome 명령으로 크롬 드라이버의 경로 지정 get 명령으로 접근하고 싶은 주소 지정 !pip install selenium 2. 이 놈은 무엇인가... 아.... 최신버전에서는 다른 설치 방법을 권장한단다. 그럼 최신으로 해야지! ! pip install webdriver_manager from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import Ch..

웹 데이터 수집하고 정리하기 Oil Price Analysis and Green construction 1. Selenium 설치 Beautiful Soup만으로 해결할 수 없는 것.. 접근할 웹 주소를 알 수 없을 때 자바스크립트를 사용하는 웹페이지의 경우 웹 브라우저로 접근하지 않으면 안될 때 Selenium 웹 브라우저를 원격 조작하는 도구 자동으로 URL을 열고 클릭 등이 가능 스크롤, 문자의 입력, 화면 캡쳐 등등 - Selenium은 Python 모듈도 설치하고 크롬 드라이버도 받아야한다. !pip install selenium 설치하고 크롬 버전을 확인해보자 1. Chrome 맞춤 설정 및 제어 → 도움말 → Chrome 정보 2. 크롬 버전 확인하기 3. 구글에서 chromedriver를 ..

웹 데이터 수집하고 정리하기 네이버 영화 평점 사이트 분석 3. 영화 평점 데이터 정리 - 영화 이름으로 인덱스를 잡습니다.. - 점수의 합산을 구합니다. - 100일 간 네이버 영화 평점 합산 기준 베스트&워스트 10 선정 import numpy as np import pandas as pd movie = pd.read_csv("../data/03. naver_movie_data.csv", index_col=0) movie.tail() 1. pivot table 또 뜨는 경고창... 불편하네요.. 가볍게 보내버립니다. import warnings warnings.simplefilter(action='ignore', category=FutureWarning) movie_unique = pd.pivot_t..

웹 데이터 수집하고 정리하기 네이버 영화 평점 사이트 분석 2. 자동화를 위한 코드 1. 날짜만 변경하면 원하는 기간 만큼 데이터를 얻을 수 있다. https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=cur&date=20230205 - pandas의 date_range를 이용하면, 손쉽게 날짜를 만들 수 있다. - 2022.10.29 부터 오늘날짜까지 100일을 생성한다. date = pd.date_range("2022.10.29", periods=100, freq="D") date 2. 날짜형 데이터들은 원하는 형태로 출력이 가능하다. date[0] date[0].strftime("%Y-%m-%d") date[0].strftime("%Y.%m.%d") 3..

웹 데이터 수집하고 정리하기 네이버 영화 평점 사이트 분석 1. 네이버 영화 평점 사이트 분석 1. https://movie.naver.com/ 영화랭킹 탭 이동 영화랭킹에서 평점순(현재상영영화) 선택 https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=cur&date=20230205 랭킹 : 네이버 영화 영화, 영화인, 예매, 박스오피스 랭킹 정보 제공 movie.naver.com - 날짜 정보를 변경해주면 해당 페이지에 접근이 가능합니다. 영화 제목은 안에 안에 태그 안에 있다. 영화 평점은 2. - find_all 명령으로 쉽게 접근한다 - div 태그의 tit5를 확인해보니 안에 a태그가 보인다. soup.find_all("div", "tit5") ..

웹 데이터 수집하고 정리하기 시카고 맛집 데이터 분석 6. 시카고 맛집 데이터 지도 시각화 1. 불러오자 import folium import pandas as pd import numpy as np import googlemaps from tqdm import tqdm df = pd.read_csv("../data/03. best_sandwiches_list_chicago2.csv", index_col=0) df.tail(10) 2. gmaps_key = "전에 발급받은 geocoding api key 넣기" gmaps = googlemaps.Client(key=gmaps_key) lat = [] lng = [] for idx, row in tqdm(df.iterrows()): if not row["A..