[Python] Selenium ์ฌ์ฉํ๊ธฐ
์ Selenuim์ ์ฌ์ฉํ์ง??
์ผ๋ฐ์ ์ผ๋ก ๋๋ฆฌ ์๋ ค์ง BeautifulSoup ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด๋ ์ฌ์ดํธ์ ๋ค์ํ ์ ๋ณด๋ฅผ ์ถ์ถํ ์ ์๋ค.
ํ์ง๋ง...BeautifulSoup์๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋์ ์ผ๋ก ์์ฑ๋ ์ ๋ณด๋ ๊ฐ์ง๊ณ ์ฌ ์ ์๋ ํ๊ณ๊ฐ ์กด์ฌํ๋ค๐ญ
Selenium์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋์ ์ผ๋ก ๋ง๋ ๋ฐ์ดํฐ ํฌ๋กค๋ง์ด ๊ฐ๋ฅํด์ง๊ณ ๋ค์ํ ์์์ ํด๋ฆญ๊ณผ ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ์ฃผ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ง๋ค!
Import and Install
Selenium์ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋์ผํ๊ฒ ๋ค์๊ณผ ๊ฐ์ ๋ช ๋ น์ด๋ก ์ฝ๊ฒ ์ค์นํ ์ ์๋ค.
pip install selenium
Import
์ฃผ๋ก ์ฌ์ฉํ๋ Import ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ๋ค.
import selenium
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import keys
from selenium.webdriver.common.by import By
Chrome Driver ์ค์น
Selenium์ ์ฌ์ฉํ ํฌ๋กค๋ง์ ๊ตฌ์ถํ ๋ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ ์ดํ๊ธฐ ์ํด์๋ Chrome Driver ์ค์น๊ฐ ํ์์ ์ด๋ค.
Chrome Driver ๋ฅผ ์ค์นํ๊ธฐ ์ ์์ ์ Chrome ๋ธ๋ผ์ฐ์ ๋ฒ์ ์ ํ์ธํ์ฌ ๊ทธ์ ๋ง๋ Chrome Driver๋ฅผ ์ค์นํด์ผํ๋ค.
Chrome ๋ธ๋ผ์ฐ์ ๋ ๋ธ๋ผ์ฐ์ ์ค๋ฅธ์ชฝ ์๋จ์ ์ 3๊ฐ ๋ฒํผ โ ๋์๋ง โ Chrome ์ ๋ณด์์ ํ์ธํ ์ ์๋ค.
Chrome Driver ๋ฅผ ๋์์ํค๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๊ณต๊ฐ๊ณผ ๋์ผ ๊ฒฝ๋ก์ Chrome Driver๋ฅผ ์์น์ํค์ง ์์ ๊ฒฝ์ฐ ๋ฐ๋์ ๊ฒฝ๋ก๋ฅผ ๋ช ์ํด์ค์ผ ํ๋ค.
URL = 'ํฌ๋กค๋ง ๋์ URL'
User_agent = '์ฌ์ฉํ๊ณ ์ ํ๋ User_agent' # ๋ด์ผ๋ก ์ธ์ํ๋ ๊ฒ์ ์ฐํํ๊ธฐ ์ํจ
driver = webdriver.Chrome()
driver.get(URL)
์ฌ์ฉ๋ฒ
Selenium ์ ์ฌ์ฉํ์ฌ ํฌ๋กค๋ง์ ๋ง๋ค ๋ ๋ด๊ฐ ๊ฐ์ฅ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ Xpath, selector์ด๋ค.
๊ธฐ์กด์๋ driver.find_element_by_xpath()์ ๊ฐ์ด ์ฌ์ฉํ์ฌ Xpath, selector ๊ธฐ๋ฅ์ ์ฌ์ฉํ์์ผ๋ ์ต๊ทผ์๋ ์์ ๊ฐ์ด ํ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ๋ฐ์ํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ค.
driver.find_element(By.CSS_SELECTOR, 'selector ๋ด์ฉ')
driver.find_element(By.XPATH, 'Xpath ๋ด์ฉ')
์ค๋ฅ, ์๋ชป๋ ์ ๋๋ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ค๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์โ