본문 바로가기

Data Analysis9

예제 6. 유가데이터분석 STEP 01. TABLE + WEB CRAWLING import mysql.connector import pandas as pd conn = mysql.connector.connect( host = "", port = , user = "", password = "", database = "" ) cur = conn.cursor(buffered=True) # table 만들기 cur.execute("CREATE TABLE GAS_BRAND( id int AUTO_INCREMENT PRIMARY KEY, name varchar(16))") cur.execute("CREATE TABLE GAS_STATION( id int AUTO_INCREMENT PRIMARY KEY, brand int , name var.. 2022. 12. 11.
예제 5. 이디야는 스타벅스 근처에 위치한다 ? Question 이디야 커피는 스타벅스 커피 매장이 위치하는 곳에 매장을 위치시킨다는 소문이 있다. 서울시의 이디야 커피와 스타벅스 커피 매장의 데이터를 분석하고 시각화하여 가설을 확인해보자. Step 01. 스타벅스 웹크롤링 from selenium import webdriver import pandas as pd from urllib.request import urlopen from bs4 import BeautifulSoup req = driver.page_source soup = BeautifulSoup(req, "html.parser") url = "https://www.starbucks.co.kr/store/store_map.do?disp=locale" driver = webdriver.Chr.. 2022. 11. 29.
예제 4. 인구 소멸 위기 지역 목표 01. 인구 소멸 위기 지역 파악 02. 인구 소멸 위기 지역의 지도 표현 03. 지도 표현에 대한 카르토그램 표현 Step 01. 데이터 읽기 import numpy as np import pandas as pd import matplotlib.pyplot as plt import set_matplotlib_hangul import warnings warnings.filterwarnings(action="ignore") %matplotlib inline 기본 세팅을 해준다. # 엑셀 파일 확인하니 칼럼이 2줄 사용중이라 header = 1 설정 population = pd.read_excel("../ds_study/data/07_population_raw_data.xlsx", header=1) #.. 2022. 11. 28.
예제 3-2. 시카고 맛집 하위페이지 데이터 분석 + 지도 시각화 Step 01 requirements들을 import 해주고, 상위페이지 분석에서 완성한 csv 파일을 불러온다. Step 02 하위 페이지의 가격과 주소를 가져온다. 첫번째 박스의 코드의 경우 403Error가 떠서 애를 먹었다. 해당 블로그의 ERROR 카테고리에 정리해놨으니 참고바란다. text으로 문자열만 불러와서 re.split(".,", price_tmp) price_tmp를 ,을 기준으로 분리시켜준 뒤, [0]번째 값만 price_tmp에 다시 담아준다. re.search를 사용하여 "\$\d+\.(\d+)?" 괄호 안의 값은 뒤에 숫자가 있을 수도 있고 ~? 하고 가능성을 열어 둔 것이다. .group()로 $값만 추출해준다.[len(tmp) + 2:]는 가격의 길이 뒷부분. 즉, 이후에 .. 2022. 11. 23.
예제 3-1. 시카고 맛집 메인페이지 데이터 분석 최종 목표 총 50개 페이지에서 각 가게의 정보를 가져온다. - 가게 이름 - 대표 메뉴 - 대표 메뉴의 가격 - 가게 주소 Step 01 크롤링 대상 페이지 검색- 구글에 chicago magazine the 50 best sandwichese를 검색한다. https://www.chicagomag.com/Chicago-Magazine/November-2012/Best-Sandwiches-Chicago/ 어떤 웹브라우저를 써서 데이터에 접근하는지 명시를 해줘야 오류가 뜨지 않는다. 즉, headers는, 우선 하던대로 response = urlopen(url)으로 url을 열어보고 403 오류가 뜬다면 그때 req로 headers 값 지정해주면 된다. 위에서는 간략하게 Chrome으로 적어줬지만, 정석대.. 2022. 11. 21.
예제 2. 위키백과 문서 정보 가져오기 01. 위키백과에 여명의 눈동자 검색한다. 02. 크롬 개발자 도구 03. 원하는 데이터의 위치를 파악한다. command shift c 04. 주소 가져온다. urllib.parse.quote()는 urllib에 내장된 포맷팅 함수. 이 과정에서 주의깊게 봐야 할 점은, ✔︎ 위키백과에서 주소 복사해올 시 https://ko.wikipedia.org/wiki/%EC%97%AC%EB%AA%85%EC%9D%98_%EB%88%88%EB%8F%99%EC%9E%90 이렇게 뒷부분이 정리되지 않은 채 나열되어 있다. => google에 url decode 검색하면 나오는 decoding 해주는 사이트에 주소 복붙 후 정리된 주소를 사용해줘야한다. code에는 뒷부분을 {search_words}를 사용해 날려주고 .. 2022. 11. 20.
예제1-2 네이버금융 !pip install requests find, find_all select, select_one find, select_one : 단일선택 select, find_all : 다중선택 ``` import requests # = from urllib.request.Request 위와 같다. from bs4 import BeautifulSoup ``` url = "https://finance.naver.com/marketindex/" response = requests.get(url) # get 대신 post 가능하다. $ response 입력하면 200 상태 코드 출력된다. soup = BeautifulSoup(response.text, "html.parser") print(soup.prettify()).. 2022. 11. 18.
예제1-1. 네이버 금융 ● import ``` from urllib.request import urlopen from bs4 import BeautifulSoup ``` ● 페이지 불러오기 ``` url = "https://finance.naver.com/marketindex/" page = urlopen(url) soup = BeautifulSoup(page, "html.parser") print(soup.prettify()) ``` 보통 page 변수 말고 response나 res 더 자주 쓰임. response.status 출력하면 값이 제대로 불러와졌는지 숫자로 확인 가능. https://ko.wikipedia.org/wiki/HTTP_상태_코드 ● 환율값 불러오기 ``` # 1 soup.find_all("span", .. 2022. 11. 17.
Beautiful Soup Basic ● install - conda install -c anaconda beautifulsoup4 - pip install beautifulsoup4 ● import ``` from bs4 import BeautifulSoup ``` ● open ``` page = open("../data/-", "r").read() soup=BeautifulSoup(page, "html.parser") print(soup.prettify()) ``` prettify() 써줄 시 , 들여쓰기 된 상태의 가독성 좋은 html로 불러와줌 ● tag 확인 ``` # head 태그 확인 soup.head # body 태그 확인 soup.body # p 태그 확인 / 가장 처음에 입력된 p 태그만 확인 가능 soup.p soup.f.. 2022. 11. 17.