์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- ๊ตญ๋น์ง์
- ๋๋ฆผ์ฝ๋ฉ
- ํ๋ก์ ํธ
- error
- react
- ๋ชจ๊ฐ์ฝ
- ํฌ๋กค๋ง
- HTML
- heapq
- JS
- ํ์ด์ฌ
- ์ฝ๋ฉ
- ๊ทธ๋ฆฌ๋
- ํ๋ก๊ทธ๋๋จธ์ค
- node.js
- fe
- javascript
- ์ฝ๋ฉํ ์คํธ
- ๋ฐฑ์ค
- ์๊ณ ๋ฆฌ์ฆ
- Python
- ํ ์ดํ๋ก์ ํธ
- KDT
- CSS
- ๋ ธ๋ง๋์ฝ๋
- Til
- ๊ฐ๋ฐ
- ํ๋ก ํธ์๋
- mongodb
- ์ฝ๋ฉ์ ํ
- Today
- Total
๐ฑ → ๐ณ
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 10์ผ์ฐจ ๋ณธ๋ฌธ
#10. ๋์ ํฌ๋กค๋ง โ
๐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ 'selenium'
selenium
: ๋์ ํฌ๋กค๋ง์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์น ๋๋ผ์ด๋ฒ(webdriver)๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ๋ฅผ ์คํํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ฌ๋์ด ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ๋ฐฉ์ ๊ทธ๋๋ก ํฌ๋กค๋งํ๋ ๊ธฐ๊ณ๋ฅผ ๋ง๋ค์ด ๋
์ ์ ํฌ๋กค๋ง์ ๋นํด ์๋๋ ๋๋ฆฌ์ง๋ง,
๋ง์ฐ์ค ํด๋ฆญ, ํค๋ณด๋ ์ ๋ ฅ, ๋ค๋ก๊ฐ๊ทธ ๋ฑ์ ๋์์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํฌ๋กค๋ง์ ํ๊ณ๋ ๊ฑฐ์ ์๋ค.
โ Selenium ์ค์น
ํฐ๋ฏธ๋ ํน์ ๋ช ๋ นํ๋กฌํํธ๋ฅผ ์ด์ด ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ์ค์น
pip install selenium
๐webdriver
selenium์ ์น ๋๋ผ์ด๋ฒ๋ ์น ์์ฉ ํ๋ก๊ทธ๋จ๋ค์ ํ ์คํธ๋ฅผ ๋จ์ํ ๋ฐ ๊ฐํนํํด์ฃผ๋ ํ
์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์๋์ผ๋ก ์กฐ์ํ๊ธฐ ์ํด, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฐ๊ฒฐํ๋ ๋งค๊ฐ์ฒด๋ผ๊ณ ์๊ฐํด๋ ๋ฌด๋ฐฉ
webdriver-manager๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด ํฌ๋กฌ ๋๋ผ์ด๋ฒ๋ฅผ ์ฝ๋๋ก ๋ฐ์ ์ฌ ์ ์์
๋ง์ฐฌ๊ฐ์ง๋ก ํฐ๋ฏธ๋ ํน์ ๋ช ๋ นํ๋กฌํํธ๋ฅผ ์ด์ด ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ์ค์น
pip install webdriver-manager
๐ ๋์ ํฌ๋กค๋ง ๋ง๋ณด๊ธฐ
1๏ธโฃ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ import
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์ฒด๋ฅผ ๋ถ๋ฌ์ค๋ [import ๋ผ์ด๋ธ๋ฌ๋ฆฌ]๊ฐ ์๋
๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ํ๋ ํจ์๋ ํด๋์ค๋ง ๋ถ๋ฌ์ด
from ๋ผ์ด๋ธ๋ฌ๋ฆฌ import [ ์ํ๋ ๋ฉ์๋/ํด๋์ค ]
โ2๏ธโฃ ์น ๋๋ผ์ด๋ฒ ๋ฐ์์ค๊ธฐ
chrome_driver = ChromeDriverManager().install()
3๏ธโฃ ์๋ํ๋ ํฌ๋กฌ ์ฐฝ ์คํ
๋ฐ์์จ chromedriver.exe๋ฅผ selenium์ ์ฐ๊ฒฐํด์ค์ผ selenium์ผ๋ก ์น ํ์ด์ง ์กฐ์ ๊ฐ๋ฅ
service = Service(chrome_driver)
driver = webdriver.Chrome(service = service)
webdriver์ Chrome ํจ์์์๋ sevice ๊ฐ์ฒด๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์,
ํฌ๋กฌ ๋๋ผ์ด๋ฒ๋ฅผ Service ํด๋์ค์ ๋ฃ์ด์ฃผ์ด service ๊ฐ์ฒด ์์ฑ
๐ ์คํ ๊ฒฐ๊ณผ
์์ฒ๋ผ ์๋ํ๋ ์ํํธ์จ์ด ๋ฉ์ธ์ง๊ฐ ์ถ๋ ฅ ๋๋ฉด ์ฑ๊ณต
4๏ธโฃ ์น ํ์ด์ง ์ด๋ํ๊ธฐ
get ํจ์๋ฅผ ์ฌ์ฉํด ํ์ด์ง ์ด๋ ๊ฐ๋ฅ
URL = "https://www.gmarket.co.kr/"
driver.get(URL)
5๏ธโฃ ์๊ฐ์ง์ฐ, ์๋์ข ๋ฃ
selenium์ ํ์ด์ง๋ฅผ ์ง์ ์ด๋ํ๋ฉด์ ์กฐ์ํ๊ธฐ ๋๋ฌธ์,
์ ์ ํ ์ง์ฐ ์๊ฐ์ ์ฃผ๋ ๊ฒ์ด ์ค์
๋ง์ฝ ํ์ด์ฌ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ผ๊ณ ๋ช ๋ นํ๋๋ฐ ํฌ๋กฌ ์ฐฝ์ด ์์ง ๋ก๋ฉ ์ค์ด๋ผ๋ฉด,
์ ํํ ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋๋ฐ๋ ์ค๋ฅ๊ฐ ๋๋ ์ํฉ์ด ์ผ์ด๋ ์ ์์
์ด๋ฌํ ์ฌํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด,
time ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ๊ณตํ๋ sleepํจ์๋ฅผ ์ฌ์ฉ
import time
time.sleep( "๋๊ธฐ์๊ฐ(์ด)" )
์คํํ๋ ํฌ๋กฌ ์ฐฝ์ ์ข ๋ฃํ์ฌ ๋ง๋ฌด๋ฆฌ
driver.close()
โญ์ ๋ฆฌํ๊ธฐโญ
โโ ๋์ ํฌ๋กค๋ง์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: selenium
- webdriver๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ๋ฅผ ์คํ
โ webdriver
- ๋ง์ ๋ธ๋ผ์ฐ์ , ์ด์์ฒด์ ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ง์ํ๊ณ
- ์น ์์ฉ ํ๋ก๊ทธ๋จ๋ค์ ํ ์คํธ๋ฅผ ๋จ์ํ ๋ฐ ๊ฐ์ํ ํด์ฃผ๋ ํด
โ selenium ๋ด์ฅํจ์
โ ์๊ฐ ์ง์ฐ์ ์ํ time.sleep()
'Server > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 12์ผ์ฐจ (0) | 2022.04.08 |
---|---|
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 11์ผ์ฐจ (0) | 2022.04.08 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 9์ผ์ฐจ (0) | 2022.03.25 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 8์ผ์ฐจ (0) | 2022.03.25 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 7์ผ์ฐจ (0) | 2022.03.25 |