profile-img
The merit of an action lies in finishing it to the end.
slide-image

๋ฌดํ•œ์Šคํฌ๋กค ํŽ˜์ด์ง€์—์„œ ํฌ๋กค๋ง์„ ํ•  ์ผ์ด ์ƒ๊ฒผ๋‹ค.

๋ฌดํ•œ์Šคํฌ๋กค ํŽ˜์ด์ง€์—์„œ ํ•ญ๋ชฉ์˜ ๋ชฉ๋ก์„ ๋ชจ๋‘ ์ˆ˜์ง‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์Šคํฌ๋กค ๋ฐ”๋ฅผ ๋งจ ๋๊นŒ์ง€ ๋‚ด๋ ค์•ผํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ํŽ˜์ด์ง€๋ฅผ ๋‚ด๋ ค๋„ ๊ณ„์†ํ•ด์„œ ์ƒˆ๋กœ์šด ๋‚ด์šฉ์ด ๋กœ๋”ฉ๋˜๋Š” ๋ฌดํ•œ์Šคํฌ๋กค ์›นํŽ˜์ด์ง€์—์„œ ์Šคํฌ๋กค ๋ฐ”๋ฅผ ๊ณ„์†ํ•ด์„œ ๋‚ด๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.

 

์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ, Keys.PAGE_DOWN๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

1. ํ•„์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

 

2. Keys.PAGE_DOWN์„ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€ ๋งจ ๋์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ์Šคํฌ๋กค ๋ฐ”๋ฅผ ๋‚ด๋ฆฐ๋‹ค.

last_count = len(driver.find_elements(By.CSS_SELECTOR, 'a.contents__title'))  # ํ˜„์žฌ ํŽ˜์ด์ง€์— ๋กœ๋“œ๋œ ๋ฆฌ๋ทฐ ๋งํฌ ์ˆ˜

while True:
    body = driver.find_element(By.TAG_NAME, 'body')
    body.send_keys(Keys.PAGE_DOWN)
    time.sleep(1)

    new_count = len(driver.find_elements(By.CSS_SELECTOR, 'a.contents__title'))
        
    # ๋งŒ์•ฝ ์ƒˆ๋กœ์šด ๋งํฌ๊ฐ€ ๋” ์ด์ƒ ๋กœ๋“œ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์ข…๋ฃŒ
    if new_count == last_count:
        print("๋” ์ด์ƒ ์Šคํฌ๋กคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.")
        break
    
    last_count = new_count  # ๊ฐœ์ˆ˜ ์—…๋ฐ์ดํŠธ

 

body = driver.find_element(By.TAG_NAME, 'body')๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ body๋ฅผ ์„ ํƒํ•œ ์ดํ›„, send_keys ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ page down ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ํšจ๊ณผ๋ฅผ ์ค€๋‹ค.

์ด๋•Œ, ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ณ„์†ํ•ด์„œ ์Šคํฌ๋กค์„ ๋‚ด๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌดํ•œ๋ฃจํ”„ ํƒˆ์ถœ ์กฐ๊ฑด์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

๋‚˜๋Š” ์Šคํฌ๋กค์„ ๋‚ด๋ ค๋„ content์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š์„ ๋•Œ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ํƒˆ์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ์กฐ๊ฑด์„ ์„ค์ •ํ•˜์˜€๋‹ค.

time.sleep(1)์€ ํŽ˜์ด์ง€ ๋กœ๋”ฉ์— ๋”œ๋ ˆ์ด๊ฐ€ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์„ค์ •ํ•œ ๊ฐ’์ด๋‹ค.

 

'CS study/ํŒŒ์ด์ฌ ๊ธฐ์ดˆ' Related Articles +