Intelligent Vehicle School/Python (5) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Intelligent Vehicle School][python] api ๊ณต๊ณต๋ฐ์ดํฐํฌํธ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ์ต๋๋ค. ์ฐ์ ์ธ์ฆํค์ url(์๋น์คurl)๋ฅผ ๋ณต์ฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฒญ๋ณ์๋ฅผ ํตํด ๋ฐ์ดํฐ ๊ท๊ฒฉ์ ๋ง์ถฐ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค. key๊ฐ์ 'serviceKey=' ์ดํ์ ์ถ๊ฐํด์ค๋๋ค. url ? p=1%=๊ฒ์์ด ๊ทธ๋ฆฌ๊ณ requests.get()์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์์ด์์ beautifulSoupํ์ผ๋ก ๋ณํํด์ค๋๋ค. ์ง๊ธ ํ์ผ์ด .xml์ธ๋ฐ, beautifulSoup()์ ๋ค์ด๊ฐ๋ ๋ฐ์ดํฐ๋ Default๊ฐ html์ด๊ธฐ ๋๋ฌธ์ xml์ด๋ผ๊ณ ๋ช ์ํด์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ํ๊ทธ์ ์์ฑ๊ฐ์ ์ ๊ทผํ๊ธฐ ์ํด, ์ฐ์ tag๋ค์ ์ฐพ๊ณ ๋ฐ๋ณต๋ฌธ์ผ๋ก jsonํ์์ ํ์ผ์ ์์ฑํฉ๋๋ค. ์์ url์ค์ ๋ถ๋ถ์ ์์ ํ๊ธฐ ์ฉ์ดํ๊ฒ parameterํ์์ผ๋ก ๋ณํํ๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ.. [Intelligent Vehicle School][python] folium folium ์ง๋ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค๊ธฐ ์ํด folium์ import ํด์ค๋๋ค. [์๋, ๊ฒฝ๋]์ zoomํฌ๊ธฐ๋ฅผ ์ค์ ํด์ ๋ณผ ์๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ marker๋ฅผ ์์ฑํฉ๋๋ค. ์์ฑํ marker๋ฅผ add_to()๋ฅผ ์ด์ฉํ์ฌ ์ง๋์ ๋ถ์ฌ์ค๋๋ค. ๋ํ tooltip์ ์ด์ฉํ์ฌ marker์ ์ค๋ช ์ ๋ฌ์์ค ์๋ ์์ต๋๋ค. ์ด๋ฒ์๋ circlemarker๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค. circlemarker์ ๋ค์ํ option์ ์ฌ์ฉํด๋ณผ ์ ์์ต๋๋ค. ์๋์ ๊ฒฝ๋๊ฐ ํฌํจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ต๋๋ค. column๋ช ์ ๋ฐ๊ฟ์ฃผ๊ฒ ์ต๋๋ค. ๋ฐ์ดํฐ ๊ฐ์ ๋ณด๋ ๊ฒฐ์ธก์น๊ฐ ํ๋์ฉ ์์ต๋๋ค. ๊ฒฐ์ธก๋ฐ์ดํฐ๋ฅผ ํ์ธํด๋ณด๋, ์ด๋ฑํ๊ต์ ๋ฐ์ดํฐ์ด๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๋๋ฐ ๊ด๋ จ์ด ์๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ์ด์ ๋ ๋ฐ์ดํฐํ๋ ์์ ํฉ์ณ๋ณด๊ฒ ์ต๋๋ค. merge()๋ก.. [Intelligent Vehicle School][python] pandas, excel ์๋ก์ด ์๋ฃ๊ตฌ์กฐ 2๊ฐ - series - dataframe => data๋ฅผ ๋ค๋ฃฐ ๋ ํ์ํ ๋ชจ๋ ๊ธฐ๋ฅ๋ค์ด ๋ค ๋ง๋ค์ด์ ธ์๋ค. 1. series - 1์ฐจ์ ์๋ฃ๊ตฌ์กฐ index๋ฅผ ์์ ํ ์๋ ์๋ค ๊ธฐ๋ฅ๋ค 2. dataframe - 2์ฐจ์ ์๋ฃ๊ตฌ์กฐ - loc : ํฌ์ธํธ ์ ๊ทผ - iloc : ์์๋ก ์ ๊ทผ - slicing seaborn์์ 'tips' ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ต๋๋ค. tip column์ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ ๋ sort_values()๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ ๋ฒ์ ์ฌ๋ฌ๊ฐ column์ ์ ๋ ฌํ๋ ค๊ณ ํ ๋๋, column๊ฐ๋ค์ list์์ ๋ฃ์ด์ parameter๋ก ์ ๋ฌํฉ๋๋ค. ํต๊ณ์น๋ฅผ ๋ณด๊ธฐ ์ํด์๋, str type์ ์ซ์๋ก ๋ณ๊ฒฝํด์ฃผ์ด์ผํ๋ค. ์ด๋ ํ์ธํ๊ณ ์ถ์ column์ ๋ํด list๋ก ๋ฃ์ด์ค .. [Intelligent Vehicle School][python] ์นํฌ๋กค๋ง2 ์คํ๋ฒ ์ค ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ https://www.starbucks.co.kr/store/store_map.do ๋ถ๋ฌ์จ ์ฝ๋์์ ์๋์ ๊ฐ์ด ์ฐพ๊ฒ๋๋ฉด, '๋น๋๊ธฐ์ '์ผ๋ก ์ฐพ๊ฒ ๋์ด ๊ฒฐ๊ณผ๊ฐ์ return ๋ฐ์ ์ ์๊ฒ๋๋ค. st_bs.find_all('p', class_='result_details') f12 -> network -> ์ผ์ชฝ ์ฐฝ์์ '์ง์ญ ๊ฒ์' -> ์ผ์ชฝ ์ฐฝ์์ '์ ์ฒด' Name์ 'getSotre.do ~~'๋ผ๊ณ ๋์ด์๋ ์ด๋ฆ์ Headers๋ฅผ ํตํด meta์ ๋ณด๋ฅผ ์ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ Request Method๊ฐ POST๋ก ๋์ด์๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ๋ get, post๊ฐ ์กด์ฌํ๋ค. - get : url --> ๋๊ตฌ๋ ๋ณผ ์ ์๋ ์ ๋ณด(๊ฐ์ธ์ ๋ณด๋ฅผ ํฌํจํ ์ ์๋ค๋ ๋ฌธ์ ) - post : url.. [Intelligent Vehicle School][python] ์น ํฌ๋กค๋ง, ์์ ํ - requests : ์์ฒญ๋ณด๋ด์ ์๋ต๋ฐ๊ธฐ - bs4 : ์ฝ๋์์ ์ํ๋ ๋ฐ์ดํฐ ๊ฒ์ import requests # ์์ฒญ๋ณด๋ด์ ์๋ต๋ฐ๊ธฐ import bs4 # ์ฝ๋์์ ์ํ๋ ๋ฐ์ดํฐ ๊ฒ์ url๋ก ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ url = 'https://search.daum.net/search?w=news&nil_search=btn&DA=STC&enc=utf8&cluster=y&cluster_page=1&q=bitcoin&p=1&sort=recency' resp = requests.get(url) ๋ถ๋ฌ์จ ์ ๋ณด ํ์ธ -> .text resp.text beautifulsoup์ผ๋ก ํ๋ณํ news_bs = bs4.BeautifulSoup(resp.text) ๋ด์ค ์ ๋ชฉ ์ฐพ๊ธฐ - ํ๊ทธ๋ฅผ ์ ์ดํด๋ณด์ # find => ์ฒซ๋ฒ์งธ๊ฑฐ .. ์ด์ 1 ๋ค์