
Python์์ ์น ํฌ๋กค๋ง์ ํ๋ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๊ฐ ์๋ค.
- requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์น ์ ๋ณด๋ฅผ ๋ฐ๊ณ , BeautifulSoup๋ก ํ์ฑํ๋ค.
- selenium ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ด ์น ์ ๋ณด๋ฅผ ๋ฐ๋๋ค.
๋ณดํต ์น ์ปจํธ๋กค์ด ํ์ํ ๊ฒฝ์ฐ(ํด๋ฆญ)์๋ selenium์ ํ์ฉํ๊ณ , ๊ทธ๋ ์ง ์๋ค๋ฉด requests ๋ฐฉ๋ฒ์ ์ด์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
์๋ํ๋ฉด selenium์ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ๋ ๊ณผ์ ์์ ๋ง์ ์๊ฐ์ด ์์๋๊ธฐ ๋๋ฌธ์ ๋น๊ต์ ์๋๊ฐ ๋น ๋ฅธ requests๊ฐ ์ข ๋ ์ ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
๐ค ๊ถ๊ธํ ๊ฒ
๊ทธ๋ ๋ค๋ฉด.... ๋ง์ฝ ์น ์ปจํธ๋กค์ด ํ์ํด์ selenium์ ํตํด ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ด๋์ ์ํ์์ ์น ์ ๋ณด๋ฅผ ์ด๋ป๊ฒ ๊ฐ์ ธ์ค๋ ๊ฒ ๋ ๋น ๋ฅผ๊น?
์ด๋ฒ์๋ ๊ทธ๊ฒ์ ์์๋ณผ ๊ฒ์ด๋ค.
๐ ์คํ ์ค๋น
์ด๋ฒ์ ํฌ๋กค๋งํ ๋์์ ์ผ์ฑ์ ์ ์ข ๋ชฉ ํ ๋ก ์ค์ด๋ค. ์ฌ๊ธฐ์ ํ์๋ ๋นจ๊ฐ์ ๋ค๋ชจ ๋ฐ์ค๋ฅผ ๊ฐ์ ธ์ฌ ๊ฒ์ด๋ค.

์น์์ ์ํ๋ ์์๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค. (xpaths, tag name ๋ฑ๋ฑ...) ์ด๋ฒ์๋ selector๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค. ํด๋น ์์๋ ์๋์ ๊ฐ์ด ๊ตฌํ ์ ์๊ณ , ํด๋น ์์๋ #content > div.section.inner_sub > table.type2 > tbody ์ด๋ค.

1. requests
url = 'https://finance.naver.com/item/board.naver?code=005930'
r = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'})
soup = BeautifulSoup(r.content, 'html.parser')
table = soup.select_one('#content > div.section.inner_sub > table.type2 > tbody')

์์ ๊ฐ์ด ๊ตฌํํ๊ณ , 0.988์ด์ ๊ฒฐ๊ณผ๋ฅผ ์ป์๋ค. ์์๋ฅผ ์ฐพ๋ ์์ ์ ์ ๋ง ์งง์ ์๊ฐ์ ์ํ๋๋ค. ์น ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ์์ ๊ณผ ์ ๋ณด๋ฅผ ํ์ฑํ๋ ์์ ์ด ๋๋ถ๋ถ์ ์๊ฐ์ ์ฐจ์งํ๋ ๊ฒ์ ์ ์ ์๋ค.
๊ทธ๋ ๋ค๋ฉด selenium์ ์ด๋จ๊น?
2. selenium
start_time = time.time()
url = 'https://finance.naver.com/item/board.naver?code=005930'
driver = webdriver.Chrome('./data/chromedriver.exe')
driver.get(url)
table = driver.find_elements_by_css_selector('#content > div.section.inner_sub > table.type2 > tbody')
driver.quit()

๊ฒฐ๊ณผ๋ ์ฝ 4.655์ด... ๊ฐ ๋์๋ค. requests์ ๋น๊ตํ์ ๋ 5๋ฐฐ ์ ๋ ์ฐจ์ด๊ฐ ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๊ณ ๋ซํ๋ ๊ณผ์ ์์ ๋ง์ ์๊ฐ์ด ์์๋๋ ๊ฒ์ ๋ง์ผ๋, ์์ ์์๋ฅผ ์ฐพ๋ ์๊ฐ์ด 4๋ฐฐ ์ฐจ์ด๊ฐ ๋๋ ๊ฒ์ ์ ์ ์๋ค.
์๋ฌด๋๋ selenium์์๋ ์์๋ฅผ ๊ฐ์ ธ์ฌ ๋, ์น ์ปจํธ๋กค์ ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ ์๊ฐ ์ฐจ์ด๊ฐ ๋๋ ๊ฒ์ผ๋ก ์์๋๋ค.
3. ๊ฒฐ๋ก
- requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์น ์ ๋ณด๋ฅผ ๋ฐ๊ณ , BeautifulSoup๋ก ํ์ฑํ๋ค. ๐ 0.988์ด
- selenium ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ด ์น ์ ๋ณด๋ฅผ ๋ฐ๋๋ค. ๐ 4.655์ด
์น ์ปจํธ๋กค์ด ํ์ํด์ selenium์ผ๋ก ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ด ์๊น์ธ ์ ์์ผ๋, requests๋ก ์น ์ ๋ณด๋ฅผ ๋ค์ ๋ถ๋ฌ์ ์์๋ฅผ ์ฐพ๋ ๊ฒ์ด ํจ์ฌ ๋น ๋ฅด๋ค. ๐ค