๋ชฉ๋ก[WEB & AI] (feat. ์ทจ์ค) (75)
Hello creators ๐
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal) 1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ ์์ ๋ฐ ํ์ ํฌ๋กค๋ง https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829 ์์ ๋ ์ค๋ฅธ์ชฝ ๊ฒ์ฌ ํด๋ฆญ -> ์ด๊ฑฐ ๊ฐ์ ธ์ค๊ธฐ ํ์ ์ ์ค๋ฅธ์ชฝ ๊ฒ์ฌํด๋ฆญ -> ์ด๊ฑฐ ๊ฐ์ ธ์ค๊ธฐ โ ก. ํด๋ณด๊ธฐ 1. ํด๋น๊ฐ์ ์ด๋ ๊ฒ ์ ๊ทผํ๋ผ๊ณ ํํธ๋ฅผ ์ค๋ค. ์ ๋ชฐ๋๋ ๊ฒ tr ๊น์ง ๊ฐ์ ธ์์ผ๋๊น, ๋ค์๊ฑธ ๋ถ์ด๋ฉด๋๋ค. ํน์ html ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด์ ๊ฐ์ ธ์ค๋๊ฑฐ โญโญโญโญโญ .text ๋ฅผ ์๋ก ๊ฐ์ ธ์๋ ๋๋ค๋ ๊ฒ โญโญโญโญโญ 02-02 2์ฐจ ๋ณต์ต ์ฐ์ ๋์๊ฐ๋ ์ฝ๋ import requests from bs4 import BeautifulSoup ์ค์ ์ฌ๋์ธ ๊ฒ ์ฒ๋ผ ํด์ฃผ๋ ค๊ณ (๋ง์น, ๋ธ๋ผ์ฐ์ ์์ call ์..
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal) 1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ ์ ๋ชฉ & ํ์ ๋ฑ์ ๊ฐ์ ธ์ค๊ธฐ โ ก. ํฌ๋กค๋ง์ ํ๋ ค๋ฉด 2๊ฐ์ง๋ฅผ ํด์ผ ํจ 1. ํด๋น ์ฃผ์์ ์์ฒญํด์ ํด๋น html ์ ๊ฐ์ ธ์ค๋ ๊ฒ! ์ด ์ฃผ์์ ๊ฐ์ html ์ ๊ฐ์ ธ์์ผ ํจ. ์ด๊ฑด requests ๋ฅผ ๊ฐ์ง๊ณ ์ด๋ฏธ ํ์. ๐ ์ฆ, requests ํจํค์ง๋ฅผ ํตํด html ์ ๊ฐ์ ธ์ค๋ ์์ ์ ์ด๋ฏธ ํ์. โญ ์, `requests` ๋ฅผ ํตํด ํ๋๊ฒ html ์ ๊ฐ์ ธ์ค๋ ๊ฑฐ ๊ตฌ๋! โญโญโญโญโญโญ 2. ๊ฐ์ ธ์จ html ์์์ '์ ๋ชฉ' ์ ์ฐพ์ผ๋ ค๋ฉด? : beautifulsoup ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ฉ 1) beautifulsoup ์ค์น pip ์ ๊ทธ๋ ์ด๋python3 -m pip install --upgrade pip python -m pip instal..
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal) 1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ ์ค์นํ requests ํจํค์ง ์ฌ์ฉํด๋ณด๊ธฐ โ ก. ๋ฏธ์ธ๋จผ์ง ๋ฐ์ดํฐ ๊ฐ์ ธ์์ ๋ถ์ํ๊ธฐ 1. ์๋ํ๋ ์ฝ๋ ๋ฏธ์ธ๋จผ์ง 60 ๋ฏธ๋ง์ธ ๊ตฌ ์ด๋ฆ ์ฐพ์๋ณด๊ธฐ import requests # requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ํ์ ํด๋น api ์์ get ํด์ r ์ ๋ด๊ธฐ ์ด๋ฌํ syntax ๋ requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง์ ๊ฒ์. r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair') rjson = r.json() rows = rjson['RealtimeCityAir']['row'] for row in rows: gu_name = row['MS..
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal) 1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ ํจํค์ง (๋จ๋ค์ด ๋ง๋ค์ด๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ) ๋ค์ด ๋ฐ๊ธฐ โ ก. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ๊ฐ ํ์ํ ์ด์ ์ ๊ฐ์ํ๊ฒฝ์ ๊ฐ๋ 1. ํ๋ก์ ํธ๋ณ๋ก ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(ํจํค์ง) ๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ ํ์ฌ์์ ํ๋ ํ๋ก์ ํธ์์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ฌ์ด๋ ํ๋ก์ ํธ๋ก ์งํํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ๊ฐ ์์. 2. ์๋ฃจ์ : ๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊พธ๋ฌ๋ฏธ๋ฅผ =='๋ ๋ฆฝ๋ ๊ณต๊ตฌํจ'== ์ ๋ฃ๊ธฐ ํ์ฌ ํ๋ก์ ํธ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ A,B,C, ๋ -> '๊ณต๊ตฌํจ 1' ์ฌ์ด๋ ํ๋ก์ ํธ์ ํ์ํ ๋ผ์ดํ๋ฌ๋ฆฌ B,C,D ๋ -> '๊ณต๊ตฌํจ 2' ์ ๋ฃ์ด๋๊ณ , ํ์ํ ๋ ๋ง๋ค ๊บผ๋ด์ฐ๋ฉด, ๊ตณ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐ๋ก ์ค์นํ๊ฑฐ๋ ํ ์ผ์ ์์ ๊ฒ. 3. '๋ ๋ฆฝ๋ ๊ณต..
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal) 1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ ํ์ด์ฌ ๋ฌธ๋ฒ ๋ณ์, ์๋ฃํ, ํจ์, ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ โ ก. ํด๋ณด๊ธฐ 1. ๋ณ์_์ซ์ํ, ๋ฌธ์์ด ๋ณ์, ๋ง์ ์ฐ์ฐ ์์ ์ฝ๋ # ์ซ์ํ_ ๋ง์ ์ฐ์ฐ a = 2 b = 3 print(a+b) ๋ฌธ์์ด_ ๋ง์ ์ฐ์ฐ c = 'deokjin' d = 'jeong' print(c+d) ### 2. ๋ณ์_๋ฆฌ์คํธํ_ ์ ์ธ, ์๋ฃ ์ถ์ถ, ๊ฐ ์ถ๊ฐ - ๋ฆฌ์คํธํ_์ ์ธ ๋ฐ ์๋ฃ ์ถ์ถ ``` python # ๋ฆฌ์คํธํ_์๋ฃ ์ถ์ถ a_list = ['์ฌ๊ณผ', '๋ฐฐ', '๊ฐ'] print(a_list[0]) ๋ฆฌ์คํธํ_์ ์ธ ๋ฐ ๊ฐ ์ถ๊ฐ # ๋ฆฌ์คํธํ_๊ฐ ์ถ๊ฐ b_list = ['์ฌ๊ณผ', '..
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal) 1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ ํ์ด์ฌ ๊ธฐ์ด ํ๊ฒฝ ์ ํ ๊ณ ๋ฏผ๋๋๊ฑด ๊ฐ์ํ๊ฒฝ ๋๋ฌธ์ ๋ ธ์ ์๋ํ ํ๋ก๊ทธ๋จ์ด ์ ๋จน๋๊ฑด๊ฐ ์ถ์ด์ ์ฐ์ตํ๋๊ฑธ ๋ค ์ง์๋ด... โ ก. ํด๋ณด๊ธฐ 1. ํ์ด์ฐธ์์ ํ์ด์ฌ ๊ธฐ๋ณธ ์ ํ ์ ํ๋ก์ ํธ ์ค์ ํ๋ฉด ์ด๋ ๊ฒ ์ฐฝ์ด ๋ธ ์์น : ๋ด๊ฐ ๋ฐํํ๋ฉด์ ์ก์๋์ ํด๋๋ก ๋ค์ด๊ฐ๊ฒ ํ๊ธฐ ๊ฐ์ ํ๊ฒฝ ์์น : ๊ฐ์ ํ๊ฒฝ๋ ๋ด๊ฐ ์ก์๋์ ํด๋๋ก ๋ค์ด๊ฐ๊ฒ ํ๊ธฐ ๊ธฐ๋ณธ ์ธํฐํ๋ฆฌํฐ : 3.8 ๋ก ๋๊ฒ ํ๊ธฐ โญโญโญโญโญโญโญโญโญโญโญ ์ด๊ฑด ํ์ด์ฌ ํํ์ด์ง์์ 3.8 ์ ๋ฐ์๊ธฐ ๋๋ฌธ main.py ์ฐ์ปด ์คํฌ๋ฆฝํธ ์์ฑ์ ํด์ ๊ทธ๋ฌ๋ฉด, ์ด๋ ๊ฒ ๊ฐ์ํ๊ฒฝ ๊น์ง ์ ์ค์น๊ฐ ๋จ. ์ด ๊ฐ์ํ๊ฒฝ์๋ ๋ญ ๋ง๋ค๋ฉด ์ ๋จ ์ ๋ณด์ด๋ ์ ๋ผ๊ณ ์๊ฐํ๋ฉด ๋จ ๋น์ฅฌ์ผ ์คํ๋์ค ์ฝ๋์์๋ ๊ทธ๋ฅ ๋ง๋ค์ด์ง ํ์ด์ฐธ์ด ์๋๋ผ, ..
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal) 1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ ๋ง๋ ๊ฒ์ ๋ถ์ฌ๋๊ธฐ โ ก. ํด๋ณด๊ธฐ 1. ๋ง๋ค์ด์ง DB ๋ฅผ API ํํ๋ก ๊ฐ์ ธ์์ ํ์ธ api ์ฃผ์ http://spartacodingclub.shop/web/api/movie ๋ง๋ค์ด์ง api ํ์ธ 2. ๋ก๋ฉ ํ ๋ฐ๋ก console ์ '๋ก๋ฉ์ด ์ ๋์๋ค.' ๋ ๋ฉ์์ง ๋ณด์ด๊ฒ ํ๊ธฐ [ajax ๋ผ๋๋ง๋ค๊ธฐ] $(document).ready(function () { listing(); }); function listing() { console.log('ํ๋ฉด ๋ก๋ฉ ํ ์ ์คํ๋์์ต๋๋ค'); } ์ฝ์ด๋ณด๊ธฐ $(document).ready(function () { : ๋ก๋ฉ ํ ์ด๋ค ํจ์๊ฐ ์คํ์ด ๋ ๊ฑฐ์ผ. ๊ทธ๊ฒ ๋ญ์ผ? listing(..
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal) 1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ ํ์ด์ฌ ์ค์น ์ด๋ฒ์ฃผ์ ๋ฐฐ์ธ ๊ฒ ํ์ด์ฌ ๋ฌธ๋ฒ์ผ๋ก ๋ค์ด๋ฒ ์ํ ํฌ๋กค๋งํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฃ๊ณ ์กฐ์ํ๊ธฐ โ ก. ํ์ ํ์ผ ์ค์น ํด๋ณด๊ธฐ 1. ํ์ด์ฌ ๋ค์ด๋ก๋ URL https://www.python.org/ftp/python/3.8.6/python-3.8.6-amd64.exe Add Python 3.8 to PATH ๋๋ฌ์ฃผ๊ธฐ 2. GIT Bash ๋ค์ด๋ฐ๊ธฐ URL https://git-scm.com/
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal) 1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ ํ์ฌ ๊ธฐ์จ ๋ช ๋! ๋ฅผ api ๋ก ๋ฐ์์์ ์ฒดํฌํ๊ฒ ํ๊ธฐ โ ก. ๋ ์จ api ์ดํด๋ณด๊ธฐ 1. ํด๋ด ๋ ์จ api ๋งํฌ http://spartacodingclub.shop/sparta_api/weather/seoul api ์ฌ์ง 2. 1์ฃผ์ฐจ homework ์ p ํ๊ทธ, span ํ๊ทธ, id ์ถ๊ฐ ์์ ํ code ๋คํค์คํธ์์ ํฌ๋ช ๋ก โ ํ์ฌ ๊ธฐ์จ๐ก : 00.0 ๋ ์ค์ํ ๋ถ๋ถ 00.0 : 1) spanํ๊ทธ ์ผ๋ก 00.0 ์ ์ฐ์ด์ฃผ๊ณ 2) ํด๋น ๋ถ๋ถ์ temp id ์ค์ โญโญโญโญโญ 3. ๋ก๋ฉ์ด ์๋ฃ๋๋ฉด -> alert ๋จ๊ฒ ํ๊ธฐ ํ์ํ ์ด์ ํด๋ฆญํ๋ฉด -> ๋จ๊ฒ ํ๋๊ฒ ์๋ ๊ทธ๋ฅ, ๋ก๋ฉ ๋๋ฉด -> ๋จ๊ฒ ํ๋๊ฒ! ์ด๊ธฐ ๋๋ฌธ์ ๊ฒ์ํ๋ ํ ๋ก๋ฉ ๋๋ฉด -> ..
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal) 1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ ๋ฅดํ์ด ๋์ ํด๋ฆญํ๋ฉด -> ์ด๋ฏธ์ง & ํ ์คํธ ๋ณ๊ฒฝ๋๋ ๊ฒ ํต์ฌ์ ๋ฉ์์ง๋ URL ์ ๋ฐ๊ฟ์น๊ธฐ ํด์ ๋ค๋ฅธ ์ด๋ฏธ์ง๊ฐ ๋์ค๊ฒ ํ๋ ๊ฒ! โญโญโญโญโญ โ ก. ๊ธฐ๋ณธ ์ฝ๋ ๋ฐ api ํ์ธ 1. ajax code ํด์ฆ ํ๊ธฐ ์ด์ ์ ๊ณต ์ฝ๋ JQuery+Ajax์ ์กฐํฉ์ ์ฐ์ตํ์! 3. ๋ฅดํ์ด API๋ฅผ ์ด์ฉํ๊ธฐ! ์๋๋ฅผ ๋ฅดํ์ด ์ฌ์ง์ผ๋ก ๋ฐ๊ฟ์ฃผ์ธ์ ์ ๋ฐ์ดํธ ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ์ง์ ๋ค ์๋ก ์์ฌ์ ธ์ผ ํฉ๋๋ค. ๋ฅดํ์ด ๋์ ๋๋ ใ ใ ใ ํ๋ ๋ฅดํ์ด! ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ ๊ฒ ๋์ด 2. ๋ฅดํ์ด API ์ฃผ์ http://spartacodingclub.shop/sparta_api/rtan ์ด๋ ๊ฒ ๋์ด โ ข. ํด๋ณด๊ธฐ 1. ์ด์ ๋จ๊ณ๋ ๋ค๋ฅธ ์ : '์ด๋ฒ ๊ณผ์ ์์ ์ฌ์ฉํ๋ aja..