๊ฐœ๋ฐœ๐Ÿ’ป/Python

[Python] Selenium ์‚ฌ์šฉํ•˜๊ธฐ

ๅฃ“ๅ€’ 2022. 9. 9. 00:08

์™œ 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 ๋‚ด์šฉ')

 

 

์˜ค๋ฅ˜, ์ž˜๋ชป๋œ ์  ๋˜๋Š” ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”โ—