# Selenium ์ ํตํ ์น ํฌ๋กค๋ง
์ง๋ ์ฃผ์ฐจ์์ ์งํ๋์๋ ์น ํฌ๋กค๋ง์ ์ด์ด, ์ด๋ฒ์๋ Selenium ๊ณผ Chrome Driver (์ฝ๋๋ก ์ปค์๋ฅผ ์กฐ์ข ํ ์ ์๋ ๊ฐ์์ ๋ธ๋ผ์ฐ์ ) ๋ฅผ ํ์ฉํ์ฌ ์กฐ๊ธ ๋ ์ธ์ฌํ ์กฐ์์ ํ๋ ์น ํฌ๋กค๋ฌ๋ฅผ ๋ง๋ค์ด๋ณด์๋ค.
Beautiful Soup ๊ณผ Selenium ์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ ์ด๋ค ํ์ด์ง๋ฅผ ํฌ๋กค๋งํ ์ ์๋์ง์ด๋ค. ์ ์๋ ํ์ด์ง ๋ด์ ์ ๋ณด๊ฐ ๋ณํ์ง ์๊ฑฐ๋, ์ถ๊ฐ ๋ก๊ทธ์ธ์ด๋ ๋ฒํผ ํด๋ฆญ์ด ํ์ํ์ง ์์ '์ ์ ํ์ด์ง' ํฌ๋กค๋ง์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์ค์ ๋ก ์๋๋ ๋น ๋ฅด๊ณ ์ฌ์ฉํ๊ธฐ ๊ฐํธํ๋ค๋ ์ฅ์ ์ด ์์ผ๋, ํฌ๋กค๋งํ ์ ์๋ ํ์ด์ง๊ฐ ์ ํ์ ์ด๋ฉฐ ํ์ด์ง ๊ณณ๊ณณ์ ์ค์น๋ ๋ฒํผ์ ๋๋ฅด๊ฑฐ๋ javascript ์ฝ๋๋ฅผ ์คํํ ์ ์๋ค๋ ๋จ์ ๋ ์๋ค.
๋ฐ๋ผ์ Beautiful Soup ์์๋ ํ ์ ์๋ ๋ก๊ทธ์ธ ์์ ์ด๋ ์ด์ / ์ดํ ํ์ด์ง ์ฐ์ ์ด๋ํ๊ธฐ, ์คํฌ๋กค ๋ด๋ฆฌ๊ธฐ, ํ์ ์ฐฝ ์ง์ฐ๊ธฐ ๋ฑ์ ์์ ์ ์ํํ๊ธฐ ์ํด์๋ Selenium ์ ์ฌ์ฉํด์ฃผ์ด์ผ ํ๋ค. ๋๊ฐ์ด ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ฉํ์ฌ ํ์ด์ง ๋ด์ ํ๊ทธ ์ ๋ณด๋ฅผ ๋ณด์ง๋ง, Selenium ์ ํ์ฉํ์ฌ ๋์ฑ ์ฌ์ธํ ์์ ๋ค์ ํ ์ ์๊ฒ ๋๋ค. (ํ์ง๋ง Selenium ์ด ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์ฃผ์ง๋ ์๋๋ค. ํฌ๋กค๋ฌ ์ ๊ทผ์ ๊ฐํ๊ฒ ๋ง์๋์๊ฑฐ๋ ํน์ ์กฐ๊ฑด์ด ์คํ๋์์ ๋ ํ์ ์ฐฝ์ด ๋จ๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํฌ๋กค๋ง์ด ๊น๋ค๋ก์์ง๋ค. ์ด ๋ถ๋ถ์ ์ดํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ์๊ฒ ๋์๋ค)
์์ ์ค์ต์์๋ ๊ธฐ๋ณธ์ ์ธ ๋๋ผ์ด๋ฒ ์กฐ์๋ฒ์ ์ตํ ๋ค ๋ด์ค ๊ธฐ์ฌ ํ์ด์ง ํด๋ฆญํ๊ธฐ, ์์ ํ์ด์ง ์คํฌ๋กคํด์ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ, ์ค์๊ฐ์ผ๋ก ๋ณํ๋ ์ ๋ณด ์ป์ด์ค๊ธฐ ๋ฑ์ ์ฌํ๋ ๋ด์ฉ์ ํ์ตํ๋ค. ํฌ๋กฌ ๋๋ผ์ด๋ฒ๋ฅผ ์ข ๋ฃํด์ฃผ๋ driver.close() ํจ์๋ฅผ ์คํํ์ง ์์ ๋๋ผ์ด๋ฒ ์ฐฝ์ด ์๋๊ฐ ์ด๋ฆฐ ์ํ๋ก ์์ ํ๊ธฐ๋ ํ์ง๋ง ์ ์ฐจ ์ต์ํด์ง์๋ก ์ด๋ ค์ด ๋ด์ฉ์ด ์๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ํฌ๋กค๋ง์ ๋ฐฉ๋ฒ์ ๊ฑฐ์ ์ ์ฌํ๊ธฐ ๋๋ฌธ์ ํ ๋ฒ ์ ๋ฐฐ์๋๋ฉด ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ฐ ํฐ ๋ฌธ์ ๋ ์๋ค๊ณ ๋๋๋ค.
์์ ์ค์์ ์ฌ๋ฌ ์ ๋ณด๋ฅผ ์์งํด ์๋ํด๋ผ์ฐ๋ ๋ง๋ค๊ธฐ + ์ด๋ฏธ์ง masking ์ ํ์ฌ ์๋ํด๋ผ์ฐ๋ ๋ง๋ค๊ธฐ๋ฅผ ์งํํ๋ค. masking ๊ธฐ๋ฒ์ด ํนํ ๋ ์ฌ๋ฏธ์์๋๋ฐ, ์ด๋ฏธ์ง ๋ด์ ๋ชจ์๋๋ก ์๋ํด๋ผ์ฐ๋๋ฅผ ์นํ๋์ ๋์ฑ ์ง๊ด์ ์ธ ์๊ฐํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํด ์ฃผ๋ ๊ฒ ๊ฐ๋ค.
** ๊ทธ๋ฆฌ๊ณ ์ด์ํ๊ฒ ํฌ๋กฌ๋๋ผ์ด๋ฒ๊ฐ ๋งฅ์์ ์๋์ด ์ ๋๋ ๋ฌธ์ ๊ฐ ์์ด์ ๊ณ ์์ ํ์๋๋ฐ, ์ด ์ญ์ ๊ฒฝ๋ก ์ค์ ์ ๋ฌธ์ ์์์ด ๋๋ฌ๋ฌ๋ค. ๋์ ๊ฒฝ์ฐ ํฌ๋กฌ ๋๋ผ์ด๋ฒ๋ฅผ ์์ ํ๊ณ ์๋ ํด๋ ๊ฒฝ๋ก๋ก ์ฎ๊ธฐ๋ ์๋์ด ์ ๋๋ค๊ฐ, ์๋์ฝ๋ค ํด๋๋ก ์ฎ๊ฒจ์ฃผ๋ ์ ์๋๋์๋ค.
** ๊ฒฝ๋ก ์ค์ ํ webdriver.Chrome(executable_path='chromedriver') ๋ฅผ ์คํํด์ฃผ๋ฉด ๋๋ค.
# ๊ธฐ์ด ํต๊ณํ
์ด์ด์ ๊ธฐ์ด ํต๊ณ๋ฅผ ๊ฐ๋จํ ๋ณด๊ณ ๋์ด๊ฐ๋ ์๊ฐ์ ๊ฐ์ก๋ค. ํต๊ณํ์ ์ฒ์ ๋ฐฐ์ฐ๋ ๊ฒ์ ์๋์ง๋ง, ์๊ฐ์ด ์ค๋ ์ง๋ฌ๊ธฐ ๋๋ฌธ์ ์ผ๋ ค๋๋ ๋ถ๋ถ ์ค ํ๋์๋ค. ๊ทธ๋ฐ๋ฐ ์ค๋๋ง์ ๋ฐฐ์ฐ๋ ํต๊ณ๋ ์ฌ์ ํ ์ฌ๋ฐ์๊ณ , ์ดํด๋ ์ ๋์๋ค!
ํนํ Outlier ์ฒ๋ฆฌ ๊ธฐ๋ฒ ์ค IQR Score ๊ณ์ฐ ๋ฐฉ์์ ๋ฐฐ์ฐ๋ ๊ฒ์ด ํนํ ๋ ์ฌ๋ฐ์๋ค. ๋๋ ์ด๋ ๊ฒ ๊น๋ํ๊ฒ ๋ง์๋จ์ด์ง๋ ๋ฐฉ์์ผ๋ก ์ ๋ณด ์ฒ๋ฆฌํ๋ ๊ฒ์ ์ฆ๊ฑฐ์ํ๋ ์ฌ๋์ธ ๊ฒ ๊ฐ๋ค. ์์๋ผ์ด์ด ์ฒ๋ฆฌ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ฐ์ดํฐ ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ ๊ฒ๋ ๋์ผ๋ก ์ง์ ํ์ธํ ์ ์์ด์ ๋์ฑ ์ฆ๊ฒ๊ฒ ์งํํ ์ ์์๋ค.
์ดํ ์๊ด๊ณ์ ๊ตฌํ๋ ๋ฒ ๋ฐ A/B ํ ์คํธ์ ๋ํ ๋ด์ฉ, ๋ค๋ฅธ ์์ํ ํจ์๋ค๋ ๋ฐฐ์ฐ๊ธด ํ์ผ๋ ์ด๋ฒ ๋จ์์ ๋ชฉ์ ์ 'ํต๊ณ์ ์น์ํด์ง๊ธฐ' ์๋์ง๋ผ ๋ด์ฉ์ ๊น์ด ๋ค์ด๊ฐ์ง๋ ์์๋ค.
# ๋ฏธ๋ํ๋ก์ ํธ 1 ์์
์ผ๋ฐฉํฅ ๊ฐ์๋ง 2์ฃผ ๋ฐ ๊ฐ๊น์ด ๋ฃ๋ค๊ฐ, ๋๋์ด ์ฒ์์ผ๋ก ์๊ฐ์๋ค๋ผ๋ฆฌ ์ํตํ๋ฉฐ ์ง์ ํ๋ก์ ํธ๋ฅผ ์ค๊ณํด๋ณด๋ ์๊ฐ์ด ๋ง๋ จ๋์๋ค. ์ฒซ ๋ฒ์งธ ๋ฏธ๋ํ๋ก์ ํธ๋ ์์ ์ฃผ์ ๋ก ์งํ๋์์ผ๋ฉฐ, ๊ธฐ์กด์ ๋ฐฐ์ด ๋ด์ฉ์ ๋ณต์ตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ์๊ธฐ์ ์กฐ๊ธ ๊ฐ๋ฒผ์ด ๋ง์์ผ๋ก ์ํ ์ ์์๋ค.
ํ๋ก์ ํธ ์งํ ๊ธฐ๊ฐ ์์ฒด๋ ๊ฝค ๊ธธ์๋ค. 12์ 23์ผ๋ถํฐ 12์ 31์ผ์ด์์ผ๋, ์ด 8์ผ์ ์๊ฐ์ด ์์์ง๋ง, 23์ผ์ ํต๊ณ๋ถ์ ํํธ๋ฅผ ๋จผ์ ๋ง์ณ์ผ ํ๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ๋ ์ค์ง์ ์ผ๋ก 2-3 ์๊ฐ ์ ๋๋ง ์งํ๋์๊ณ , ๊ฐ์ฌ๋์ด ์ฃผ๋ง๊ณผ ํด์ผ์๋ ์ ๋ ์ถ๊ฐ ์์ ์ ํ์ง ๋ง๋ผ๊ณ ๊ฐ์กฐํ์ จ๊ธฐ์ ํฌ๋ฆฌ์ค๋ง์ค์ ์ฃผ๋ง ์๊ฐ๋ ์ฌ์ฉํ์ง ์์๋ค. ๋ง์ง๋ง ๋ ์ธ 31์ผ์ ๋ฐํ์๋ฃ ๋ง๋ค๊ณ ๋ฐํ ์ค๋นํ๋๋ฐ์ ์๊ฐ์ ์จ์ผ ํ๊ธฐ ๋๋ฌธ์, ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ฐ์ดํฐ ์์ง ๋ฐ ์ ์ฒ๋ฆฌ, ๋ถ์์ ๋ค์ผ ์ ์๋ ์๊ฐ์ ์ด ์ฌํ + 2์๊ฐ ์ ๋์๋ ๊ฒ์ด๋ค.
๋ฌผ๋ก ์ง๊ธ ์ด ์์ ์ ํ๋ค๋ฉด ์ถฉ๋ถํ ์๊ฐ์ด๋ผ๊ณ ๋๊ปด์ง๊ธด ํ์ง๋ง, ๋น์์ ์ฐ๋ฆฌ ์กฐ๋ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ์์ ์ด๋ ค์์ ๊ฒช์ด ์ฃผ์ ๋ฅผ ํ ๋ฒ ์์๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ๋ถ์กฑํ๋ค.
์ฐ์ ์์์ผ์๋ ์กฐ์๋ค๊ณผ ์ธ์ฌ๋ฅผ ๋๋๊ณ ์ฃผ์ ์ ๋ํ ์๊ธฐ๋ฅผ ํ๋ค๊ฐ, ์ฌ๋ฌ ๋ฐ์ดํฐ๋ถ์ ๊ณต๋ชจ์ ๋ค ์ค์ ์ฌ๋ฏธ์์ด ๋ณด์ด๋ ์ฃผ์ ์ค ํ๋๋ฅผ ์ ํํด ์งํํด๋ณด๋ฉด ์ด๋ป๋๋ ์๊ฒฌ์ ๋ฐ๋ผ ๊ณต๋ชจ์ ์ ์์๋ณด์๋ค. ๋ฐ์ด์ฝ, ์์ธ์ ๊ณต๋ชจ์ , ๋ฐ์ดํฐ ๋ถ์ ๊ณผ์ (LH) ๋ฑ์ ๋๋ฌ๋ณด๋ค๊ฐ ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ ๋ณด์ด๋ "์ค์ฐ์ ์ด๋ฆฐ์ด ๊ตํต์ฌ๊ณ ์ง์ญ ๋ถ์" ์ ์งํํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
๋ชฉ์์ผ์๋ ๋ถ์์ ํ์ํ ๊ฐ์ข ๋ฐ์ดํฐ๋ฅผ ํฌํธ์์ ๋ค์ด๋ฐ๊ฑฐ๋ api ๋ฅผ ํ์ฉํ์ฌ ๋ฐ์์ค๊ณ , ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ์ทจํฉํ๊ธฐ ์์ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋ ์ทจํฉํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ค์ ์ ๋ ฌ ๊ธฐ์ค ๋๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ์ค์ด ๊ฐ๊ธฐ ์์ดํด ํ๋์ dataframe ์ ๋ง๋๋ ๊ฒ๋ถํฐ ๋๊ด์ด์๋ค. ์ฐ๋ฆฌ๊ฐ ํ๊ณ ์ ํ๋ ์์ ์ ์ ๊ตญ ์๊ตฐ๊ตฌ๋ณ ๋์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ ๋์ ๊ฐ์ ๋น๊ต๋ถ์์ ํ๋ ๊ฒ์ด์๋๋ฐ, ๊ตํต์ ๋ณด ๋ฐ์ดํฐ์ ์์๋ ์๊ตฐ ๊น์ง๋ง ํ๊ธฐ๋์ด ์๋๋ฐ ์ธ๊ตฌ ๋ฐ์ดํฐ์์๋ ๊ตฌ๊น์ง ํ๊ธฐ๋์ด์๋ ๊ฒฝ์ฐ์ ๊ฐ์ ๋ฌธ์ ๋ค์ด ์์๋ค. (์ง๊ธ ๋์ด์ผ๋ณด๋ ์ ์ด์ ์ฌ๊ธฐ์ ๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ๋ชจ์ ํ๋์ ๋ฐ์ดํฐ์ ์ ์๋กญ๊ฒ ๋ง๋๋ ๊ณผ์ ์์ฒด๊ฐ ์์ฒญ ์๋ชจ์ ์ธ ์์ ์ธ๋ฐ ์ด ๋น์์๋ ์ด๋ฅผ ์ธ์งํ์ง ๋ชปํ๊ณ ์ฝ๊ฒ ์๊ฐํ๋ ๊ฒ ๊ฐ๋ค.)
์ธ๋ฑ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค ๋ณด๋ ์กฐ์๋ค๋ ์ ์ฒ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ์งํํด์ผ ํ๋์ง ๊ฐํก์งํกํ๊ฒ ๋์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก๋ ๋ชฉ์์ผ ํ๋ฃจ๋ฅผ ๊ฑฐ์ ํต์ผ๋ก ๋ ๋ฆฐ ์ดํ์์ผ ๋ชฉํ๋ฅผ ์์ ํ์ฌ '์์ธ์ ๊ตํต์ฌ๊ณ ๋ฐ์ ์ง์ญ ๋ถ์'์ ์งํํ๊ธฐ๋ก ํ๋ค. ^ - ใ ..
์กฐ์๋ค๋ ๊ณ ์ ๋ง์ด ํ์ง๋ง ํ์ฅ์ ๋งก์ ์ํฉ์์ ๋ ๋์ ๋์์ ์ฐพ์ง ๋ชปํ๋ค๋ ์์ฑ ๊ฐ์ด ๋งค์ฐ ์ปธ๋ ์๊ธฐ์๋ค.
๋๊ธ