Selenium 라이브러리
- 브라우저를 자동제어하여 크롤링을 자동화 시키는 라이브러리
- 동적크롤링을 진행할 때 사용
- 반드시 한 번 설치가 필요
In [7]:
# 라이브러리 설치
!pip install selenium
In [8]:
# 셀레니움 최신버전 업데이트
!pip install -U selenium
In [9]:
# 브라우저의 역할을 해주는 라이브러리
from selenium import webdriver as wb
# 컴퓨터용 키보드
from selenium.webdriver.common.keys import Keys
# 선택자의 구분자 역할을 해주는 라이브러리
from selenium.webdriver.common.by import By
In [10]:
# 1. 크롬창을 실행
driver = wb.Chrome()
In [11]:
# 2. 특정 페이지로 이동(요청)
driver.get("http://www.naver.com")
In [12]:
# 3. 검색창에 검색어를 입력
# 3-1 : 검색창의 위치를 알아온다
# soup.select("#query") -> request 문법
search = driver.find_element(By.ID, "query")
search.send_keys("이강인")
In [13]:
# enter 보내기
# 키보드의 값을 보낼 때는 Keys라이브러리 사용
# 주의점 : 대문자로 작성해야 한다 (ENTER, END...)
# PAGE_DOWN
search.send_keys(Keys.ENTER)
In [14]:
# 4. 스크롤을 화면 최하단으로 이동
# 이유 : 화면 밑에 있는 데이터도 로딩
# 화면에 키보드에 있는 END키를 보내주기
body = driver.find_element(By.TAG_NAME, "body")
body.send_keys(Keys.END)
In [15]:
# 5. 페이지 뒤로가기
# 뒤로가기 버튼은 html태그가 아님
driver.back()
In [16]:
# 6. 다시 한 번 검색창에 새로운 검색어 입력
# 화면이 변화면 -> 화면이 이동했다면
# 컴퓨터는 과거 화면을 다 잊어버린다
# 반드시 요소를 새로 검색 후 명령
search = driver.find_element(By.ID, "query")
search.send_keys("김민재")
In [17]:
# 7. 검색 -> 검색버튼을 클릭
btn = driver.find_element(By.CLASS_NAME, "btn_search")
btn.click()
In [18]:
# 8. 창을 종료
driver.quit()
참고할 점!
- 위에서 한 방식은 최신버전의 코드
-
- 크롬드라이버 = 컴퓨터용 크롬
- 1.1 wb.Chrome("크롬드라이버의 경로")
-
- find_element(By.ID) -> find_element_by_id()
'Study > Python' 카테고리의 다른 글
[Python] 크롤링 네이버 지도 데이터 수집- iframe 전환 (0) | 2023.09.04 |
---|---|
[Python] 크롤링 (한솥도시락 메뉴 수집해보기) (0) | 2023.09.01 |
[Python] 크롤링 쇼핑몰 리뷰 수집하기 (0) | 2023.08.30 |
[Python] 크롤링 멜론차트 데이터 수집 (0) | 2023.08.29 |
[Python] 크롤링 Request 사용법 (멜론, 뉴스 제목 데이터 수집) (0) | 2023.08.28 |