0. 크롤링을 위한 기본 환경 구축하기
- Anaconda의 JupyterNotebook 설치하기
- 명령 프롬포트에서 pip install selenium으로 selenium 패키지 설치하기
- selenium은 웹 드라이버 프로그램을 이용해서, 웹 페이지를 열고, 사람이 지정한 태그를 이용해 데이터를 수집한다.
- Chrome Driver 설치하기 (밑에 사진으로 추가 설명)
0-1 먼저 Chrome의 버전 확인하기
Chrome 인터넷을 킨 뒤에 위 사진의 오른쪽 상단에 ...을 클릭한다.
그러면 아래 사진처럼 보일 것이다.
그리고 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
그러면 아래와 같이 사진이 나온다.
지금은 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)
(위 사진을 확인하고 싶다면 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 결과
jupyter notebook에서 검색하고자 하는 검색어를 크롤링으로 쳤더니
selenium에서 알아서 구글에 크롤링이라고 검색어를 입력한 모습이다.
혹시 실행했는데 selenium module을 찾을 수 없다고 하면, 이전 포스팅을 참고하길 바란다.
2022.06.08 - [파이썬] - [Python] Selenium 오류 간단히 해결하기 (Jupyter Notebook)
'파이썬' 카테고리의 다른 글
[Python] Selenium 오류 간단히 해결하기 (Jupyter Notebook) (0) | 2022.06.08 |
---|---|
[Python] 코드로 csv, xls 파일 생성하기, 읽어오기, 불러오기 (0) | 2022.06.04 |