본문 바로가기

BLOG/웹크롤링

[웹크롤링] 네이버 검색창에 검색어 입력하는 방법 (selenium)

네이버 홈페이지는 크롤링할 때 자주 사용되는 페이지 중 하나인데요,

네이버 홈페이지의 검색창에 원하는 텍스트를 입력한 뒤, 검색버튼을 누르는 코드에 대해서 살펴보도록 하겠습니다.

 

 

먼저, 네이버 홈페이지를 여는 코드를 작성하도록 하겠습니다.

 

from bs4 import BeautifulSoup     
from selenium import webdriver
import time

path = "c:/temp/chromedriver_240/chromedriver.exe" #사용자 크롬드라이버경로 입력
driver = webdriver.Chrome(path)
driver.get("http://naver.com")
time.sleep(2)  # 2초기달리기

 

필요한 라이브러리를 import 한 뒤, path 변수에 크롬드라이버가 설치된 경로를 입력하고, 

이를 이용하여 "http://naver.com" url을 가져오도록 했는데요, 위 코드를 실행하면 네이버 창이 열리게 됩니다.

 

그리고나서 검색창에 텍스트를 입력한 뒤 검색버튼을 누르는 코드는 다음과 같습니다.

 

element = driver.find_element_by_id("query")
element.send_keys(keyword) 
element.send_keys("\n")  

 

첫 번째줄 코드는 검색창의 element를 가져오는 코드인데요, 네이버 검색창의 id명은 'query'로 find_element_by_id() 를 이용하여 element를 가져옵니다.

 

두 번째줄은 위에서 가져온 검색창 element에 텍스트를 입력하라는 코드인데요, send_keys() 함수가 사용되었고, 함수 안에 원하는 텍스트(keyword)를 입력하면 됩니다.

 

마지막 코드는 검색버튼을 누르는 기능을 하는 코드인데요, 우리가 실제로 검색창에 검색어를 입력한 뒤 엔터를 치면 검색이 되는 것처럼, 마찬가지로 엔터를 뜻하는 "\n"를 send_keys()에 입력하면 엔터를 누르는 것과 같아지게 된답니다.

 

따라서 위 3줄의 코드를 입력한 뒤 실행하면 해당 검색어로 검색이 되는 것을 확인하실 수 있습니다.

 

 

한번 실습으로, "여행" 이라는 검색어를 입력한 뒤 검색하는 코드를 작성해보겠습니다.

 

from bs4 import BeautifulSoup     
from selenium import webdriver
import time

path = "c:/temp/chromedriver_240/chromedriver.exe" 
driver = webdriver.Chrome(path)
driver.get("http://naver.com")
time.sleep(2) 

element = driver.find_element_by_id("query") 
element.send_keys("여행")  
element.send_keys("\n") 

 

 

그 결과, 해당 검색어로 잘 검색되었음을 확인할 수 있습니다.