ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [크롤링 준비하기] 셀레니움 크롬 드라이버 기본 사용법 익혀보기
    직접 해보기/Python 2024. 6. 4. 21:58
    728x90
    반응형

     

    크롤링 준비하기 — 크롬드라이버에서 구글검색 시켜보기!


    0️⃣  셀레니움과 크롬드라이버를 설치하기 전이라면, 

    버전에 맞는 크롬드라이버, 셀레니움까지 설치 완료하기!

     

     

    1️⃣  파이썬에서 셀레니움, 크롬드라이버 불러와서 실행시키기

    • 아래 코드들을 진행시키면 크롬드라이버가 실행되고, 아래 이미지처럼 빈 크롬창이 하나 새로 켜집니다.
      이제 클릭이나 입력 등등 이것저것 시키면, 이 창은 제가 직접 손대지 않아도 자기가 알아서 움직입니다.

    • 크롤링하려면 먼저 가져와야 하는 Selenium 모듈들이 있습니다.
      (1) webdriver : 크롬 가상 드라이버 실행을 위해 필수!
      (2) By : 실제 페이지 내용을 긁어올때, 이름으로 찾을지 ID로 찾을지 등등.. 찾는 수단(by)을 정할 때 필요한 모듈이에요.
      (3) Keys : 크롬 드라이버에서 키보드 키를 눌러줄거에요. 예를들어 엔터, 컨트롤 키 등을 누르는 동작을 전달해줄 수 있습니다.
      (4) WebDriverWait : 대기가 필요할때 이걸 쓸거에요. 예를들어 특정버튼을 누르고 3초 대기 등을 전달해줄 수 있습니다.
      (5) expected_conditions : 어떤 요소의 상태를 알아볼 때 필요합니다. 특정내용이 있는지 없는지, 클릭 가능한지 아닌지 등등..
      (6) Options : 크롬 드라이버의 옵션을 정해줄 수 있습니다. 예를 들어 크롬창 크기를 정해서 실행시켜줄 수 있어요.

     

    # 크롤링 시 필요한 모듈들 가져오기
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.chrome.options import Options
    
    # 크롬드라이버 실행
    driver = webdriver.Chrome()

    크롬 드라이버 실행하면 나오는 빈창

     


    2️⃣  크롬드라이버에서 '구글'로 이동하기

    • 일단 창크기를 1920x1080으로 바꿔주겠습니다. (가끔 창크기 때문에 버벅거리는 경우가 있기 때문에..)
    • 구글URL을 넣어서 이동할게요. 크롬드라이버 창이 빈창에서 구글 첫화면으로 이동되었습니다.

     

    # 창크기 바꿔주기
    driver.set_window_size(1920,1080)
    
    # 구글 이동하기
    driver.get("https://www.google.co.kr/")

     


    3️⃣  구글 검색창에서 '셀레니움' 검색하기

    • 구글창에서 F12를 누르면 검사창이 나옵니다. 여기서 이 페이지의 HTML을 전부 볼 수 있어요.
      - 크롤링이란.. HTML 에서 원하는 내용을 선택하고 클릭하고 찾아오는 노가다입니다..
    • 아래 표시해둔 화살표를 누르면, 원하는 곳의 HTML코드를 바로 찾을 수 있습니다.

    검사창에서 화살표를 누르고
    검색창을 누르면
    검색창에 해당하는 HTML코드를 바로 찾을 수 있어요

     

     

    • 이 부분에서 오른쪽 클릭을 해서 XPath를 카피하고, 아래와 같이 코드에 넣어주겠습니다.
      driver.find_element(By.XPATH, '//*[@id="APjFqb"]')
      - By.XPATH : HTML에서 XPath로 찾겠다는 의미이고,
      - 따옴표 안에 카피해온 XPath를 넣어주시면 됩니다.
    • 아래 코드를 진행해서 구글 검색창에서 '셀레니움'을 검색해볼게요.
    # 검색창에 해당하는 xpath를 찾아와서 search_box 변수에 저장
    search_box = driver.find_element(By.XPATH, '//*[@id="APjFqb"]')
    
    # 검색창에 '셀레니움'을 넣고, 엔터키를 눌러서 검색완료
    search_box.send_keys('셀레니움')
    search_box.send_keys(Keys.ENTER)

     

     

    • 검색 완료입니다~! 


     

     

    728x90
    반응형