본문 바로가기

파이썬

[Python] Google 검색창 자동 검색하기 (Selenium 활용, 환경구축)

0. 크롤링을 위한 기본 환경 구축하기

  • Anaconda의 JupyterNotebook 설치하기
  • 명령 프롬포트에서 pip install selenium으로 selenium 패키지 설치하기
  • selenium은 웹 드라이버 프로그램을 이용해서, 웹 페이지를 열고, 사람이 지정한 태그를 이용해 데이터를 수집한다.
  • Chrome Driver 설치하기 (밑에 사진으로 추가 설명)

 

0-1 먼저 Chrome의 버전 확인하기

그림1. Chrome 버전 확인하기

 

Chrome 인터넷을 킨 뒤에 위 사진의 오른쪽 상단에 ...을 클릭한다.

그러면 아래 사진처럼 보일 것이다.

 

그림2. Chrome 버전 확인하기

 

그리고 Chrome 정보를 클릭하면 크롬의 버전을 확인할 수 있다.

 

그림3. Chrome 버전 확인하기

그러면 Chrome 버전을 확인할 수 있다.

나는 크롬 버전이 102이므로 102에 맞는 드라이버를 설치하면 된다.

 

 

0-2 크롬 드라이버 설치하기

첫 번째 링크는 크롬 드라이버 기본 홈페이지고,

두 번째 링크는 모든 다운로드를 볼 수 있는 사이트다. 두번째 링크를 누른다.

https://sites.google.com/chromium.org/driver/home?authuser=0

https://sites.google.com/chromium.org/driver/downloads?authuser=0

 

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 103, please download ChromeDriver 103.0.5060.24 If you are using Chrome version 102, please download ChromeDriver 102.0.5005.61 If you are using Chrome version 101, please download ChromeDriver 101.0.4951.41

sites.google.com

그러면 아래와 같이 사진이 나온다.


그림3. Chrome Driver 설치하기


지금은 Chrome 버전이 102라서 102에 맞게 설정하지만

나중에 지나서 자신의 크롬이 상위 버전이라면, 버전에 맞게 드라이버를 다운받으면 된다.

 

그리고 클릭하면 window의 경우 chromedriver_win32.zip을 다운받으면 된다.

그리고 압축 해제할 경로를 선택하고, 압축 해제해주면 된다. (이 때 압축 해제해준 경로는 코딩 때 쓰인다!)

보통 기본 경로로 설정했다면 c드라이브의 download 디렉터리로 갔을 것이다.

 

 

1. 구글 자동검색 구현하기

 

1-1 path

여기서 Step1 아래에 있는 path 변수는 아까 압축해제 해준 chromedriver의 위치이다.

각 개인의 chromedriver의 파일 경로를 적어주도록 하자.

 

1-2 driver.find_element_by_name('q)

여기서 왜 'q'인가 의아할 수 있지만, 구글의 검색하는 창의 element의 이름이 q이다. 

즉 q라는 element가 검색창이고, 검색창에 사용자가 입력한 단어를 입력하고(send_keys)

그리고 엔터를 누른다.(submit)

 

그림4. 구글검색창 name

(위 사진을 확인하고 싶다면 google창에서 f12를 누르고 cirl + shift + c를 누르고 검색창을 누르면

위 사진을 확인할 수 있다.)

 

 

1-3 코드

from selenium import webdriver 
import time

query_txt = input('검색할 단어를 입력해주세요 : ')

#Step 1. 크롬 드라이버를 이용해서 웹 브라우저를 연다.
path= "C:/Download/chromedriver_win32/chromedriver.exe" #개인의 드라이버 경로를 적으세요#
driver = webdriver.Chrome(path)

driver.get("https://www.google.com")
time.sleep(1)  

#step 2. 검색창을 이름으로 찾아서 검색한다.
element = driver.find_element_by_name('q') #검색창 html의 name이 'q'여서 q다
element.send_keys(query_txt)               #검색 단어를 입력한다
element.submit()                           #검색창 엔터 -> 결과

 

 

1-4 결과

그림5. 자동검색 결과창

 

jupyter notebook에서 검색하고자 하는 검색어를 크롤링으로 쳤더니

selenium에서 알아서 구글에 크롤링이라고 검색어를 입력한 모습이다.

 

 

혹시 실행했는데 selenium module을 찾을 수 없다고 하면, 이전 포스팅을 참고하길 바란다.

2022.06.08 - [파이썬] - [Python] Selenium 오류 간단히 해결하기 (Jupyter Notebook)