본문 바로가기

Python/Crawling

[Python웹크롤링] Selenium과 Webdriver를 이용한 브라우저 자동 검색

반응형

예전에 한 아주 자그마한 토이 프로젝트 이지만 selenium과 웹드라이버를 이용해서 네이버 검색창에 자동으로 키워드를 입력하는 걸 다시 복습할 겸 진행해보았다... 사실 다른 웹크롤링 강의를 듣고 실습하려다가 에러나고 빡쳐서...복습겸 쉬운 프로젝트좀 하려고 다시 건너왔다 ㅜㅜ

네이버 검색창에 컴퓨터가 자동으로 입력해보도록 하자!

그럼 이제 본격적으로 간단한 코드인지만 코드에 대해서 분석해보고 의미를 이해해 보자!

 

필요한 모듈 임포트& 웹드라이버 설정

우선 가장 필요한 셀레니엄 모듈에서 웹드라이버를 임포트한다. 그리고 난 크롬브라우저를 이용했기 때문에 내 로컬에 크롬웹드라이버가 저장되어 있는 경로를 작성해주고 웹드라이버를 활성화 시켜준다.

 

브라우저 디테일 설정&네이버 페이지 이동

다음에 한 두가지의 설정은 브라우저가 켜질때 내부적으로 대기하는 시간을 설정하는 것이다. 지난 글에도 한번 적었던 적이 있는 기억이 있다. 그리고 내 컴퓨터 모니터 화면에 맞게 브라우저 사이즈를 설정해 준다. 내가 갖고 있는 노트북의 화면이 크지 않지만 브라우저가 큰 걸 좋아해서 그냥 사이즈는 저렇게 좀 크게...

 

그리고 이제 검색창이 존재하는 URL 인 네이버 URL을 적어서 get 방식을 이용해 페이지로 이동을 한다. ( 근데 난 여기서 문득 생각이 났던 게 get방식이 requests를 임포트해야만 사용할 수 있을 줄 알았는데 셀레니엠에도 내장이 되 있는 거 같다...)

 

css선택자 입력 & 검색 키워드 입력

다음은 이제는 조금...아주..살짝 수월하다고 느껴지는 css 선택자를 설정해 검색창을 지정하는 코드였다. 21번째줄에 있는 주황색 글씨의 인자는 밑의 사진 속 크롬 개발자 도구 elements에서 보고 입력을 시켰다.

css 선택자

' span 태그의 green_window라는 클래스 하위의 input 태그의 input_text라는 클래스 ' 를 입력시켰다. 그리고

send_keys() 라는 셀레니엄 내장 함수를 이용해 내가 검색하고 싶은 키워드를 집어넣었다.. 요즘 아이유 노래가 좋으니까

아이유를 그냥 넣어보았다..!

 

스크린샷 & 브라우저 종료

그리고 내가 작성한 코드가 잘 실행되고 있는지 증거(?)를 남기기 위해 중간에 스크린샷을 찍어보았다. 두 가지 방법 모두 스크린샷 찍는 방법인데 두 개의 방법 모두 해보았다. 그리고 마지막으로 quit을 이용해 브라우저를 종료시켜보았다.

 

스크린샷1

위 그림이 보여주듯이 잘 검색된 것 같다...! 다른 스크린샷은 생략하겠다. 

 

지금까지 셀레니엄과 웹드라이버를 이용해 자동으로 브라우저를 키고 검색창에 검색어까지 넣는 기능을 구현해보았다. 개인적으로 특별한 기술이라고 생각되지 않지만 앞서서 말했듯이 다른 프로젝트로 인한 스트레스 때문에 다시 기초로 돌아왔고... 또한 기초를 다시 돌아보자는 생각에 이 같은 주제로 글을 써보았다. 다음엔 좀 더 난이도 있는 코드와 프로젝트로 글을 써보려고 한다.

반응형