๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐ˜์‘ํ˜•

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 => ์ฒซ๋ฒˆ์งธ๊ฑฐ ..

๋ฐ˜์‘ํ˜•