Programming/기타

[Python] Selenium으로 사이트 브라우징하기

devssun 2019. 9. 8. 00:33
728x90
반응형

1. Selenium

우선 크롤링을 하려면 Selenium 이라는 도구가 필요합니다

Selenium은 원래 웹 브라우저 테스트 용으로 사용합니다. 이때 버튼을 누르거나 텍스트 링크를 누르고 아이디, 비밀번호를 입력하고 로그인하는 일련의 행위를 합니다. 크롤링에서도 이런 과정을 사용하기 때문에 Selenium 툴을 사용합니다

우리는 Selenium을 통해 웹 브라우저를 제어해서 크롤링을 진행할 예정이므로 Selenium이 사용할 크롬 드라이버를 설치해야합니다

 

2. Python

본 예제는 파이썬으로 크롤링하는 예제로 파이썬이 필요힙니다.

Mac OS 에는 기본적으로 파이썬 설치가 되어있긴 하지만 버전이 2.x로 3.x 버전을 추가로 다운로드 해야합니디.

현재 파이썬은 3.7.x 버전까지 출시되어 있지만 완전 최신 버전일 수록 불완전한 프로그램이며 자료가 많지 않기에 3.7보다는 3.5 버전을 추천드립니다

파이썬 다운로드 홈페이지

 

추가로 파이썬 라이브러리인 BeautifulSoupSelenium을 다운로드합니다

> pip3 install BeautifulSoup
> pip3 install selenium

 

3. Selenium으로 사이트 브라우징하기

우선 간단한 예제로 해봅시다! 대한민국 구석구석 이라는 페이지에서 키워드를 입력하고 검색까지하겠습니다

우선 전체 코드는 다음과 같습니다. 

 

 

 

3 - 1 크롬드라이버 경로 설정 및 웹 브라우저 실행하기

위 코드에서 driver = webdriver.Chrome(path) 까지 입력 후 실행하면 아래와 같이 빈 웹브라우저 하나가 뜹니다

주소창 아래 확인할 수 있듯이 해당 브라우저는 자동화된 테스트 소프트웨어에 의해 제어됩니다

 

3-2 제어할 웹 사이트로 이동하기

웹 브라우저를 실행시켰으니 내가 원하는 사이트로 이동해봅니다 (코드 13번 라인)

 

3-3 내가 제어하고 싶은 기능 확인하기

이번 예제에서는 검색창에 검색어를 입력하고 "검색" 해보는 단계를 진행해볼겁니다.

아래 사이트에서는 화면에 보이는 검색 버튼을 눌러야 검색어를 입력할 수 있는데요, 그럼 그 버튼을 누르기 위해 우리가 어떤 값에 접근해야 하는 지 확인이 필요합니다

F12 로 개발자 도구를 켜고 왼쪽 구석에 화살표 모양을 눌러봅니다

아래처럼 마우스가 이동하는 곳의 컴포넌트를 즉시 확인할 수 있습니다

# btnSearch - 검색 버튼 id 값
driver.find_element_by_id("btnSearch").click()

# inp_search - 검색창 element id 값
element = driver.find_element_by_id("inp_search")

# 검색창에 입력할 키워드 입력
element.send_keys("키워드")

 

검색어까지 입력했다면 마지막으로 검색버튼을 눌러 "겨울" 키워드에 대해 나온 결과를 봅시다!

# 검색 텍스트 클릭
driver.find_element_by_link_text("검색").click()

위와 같은 사진처럼 "겨울" 로 나온 데이터를 확인할 수 있습니다

 

간략한 설명은 아래 Gihtub 에서 확인해보세요 :)

practice_selenium.md

반응형