블로그 이미지
잡다한 취미 생활 및 일상에 대한 소소한 이야기를 적어나가는 블로그입니다.
붉은kkk

공지사항

최근에 올라온 글

최근에 달린 댓글

글 보관함

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

[24. 웹자동화] selenium 설치

2019. 9. 26. 22:33 | Posted by 붉은kkk

웹자동화는 파이썬을 이용하여 웹에서의 동작을 원하는 형태로 자동화 시킬 수 있는 것을 의미합니다.

웹자동화에 필요한 라이브러리는 selenium으로 아래와 같이 설치해 줍니다.

>>>pip install selenium

 

이미 설치가 되어 있어서 다운로드 과정은 나오지 않았습니다.

 

selenium을 설치한 다음에는 자동화를 위한 브라우저 및 브라우저 driver가 필요합니다.

저는 크롬을 사용하고 있기 때문에 크롬으로 설명을 드리겠습니다. 

 

크롬 드라이버 설치전 설치된 크롬의 버전을 확인해 줍니다.

 

버전 77.0 이네요.

마지막으로 크롬 드라이버 설치를 진행해 줍니다.

버전에 맞는 드라이버를 선택한 후 다운로드 하시면 됩니다.

 

이제, 웹 자동화를 위한 기본적인 라이브러리 및 웹드라이버 설치가 끝이 났습니다.

 

 

selenium을 통한 웹자동화 실제 사용은 다음 포스팅에 설명하도록 하겠습니다.

이번엔 네이버 실시간 검색어를 가져오는 프로그램을 만들어 볼 거에요.


실시간 검색어를 주기적으로 알 수 있다면, 


현재 인기있는 것이 무엇인지 어떤 분야가 뜨고 있는지 등을 쉽게 알 수 있게 될 테고


그런것들은 구상하고 있는 사업 아이템에 도움이 될 거에요. 


(글을 쓰는데도 많은 영감을 얻을 수 있을 거 같습니다.)



그럼 파이썬으로 코딩을 해볼까요?


주의 : 허락되지 않은 사이트의 크롤링은 법적으로 문제가 될 수 있습니다. 

         제 블로그는 파이썬으로 어떻게 크롤링을 할 수 있는지에 대해서만 알려주고 있지만, 크롤링으로 인한 법적 문제 발생시 법적 책임은 지지 않음을 알려 드립니다.


준비물 (라이브러리)

   - BeautifulSoup



1. 네이버 실시간 검색어 Data 분석

    - 실시간 검색어 검색 시 HTML 코드가 어떻게 되어 있는지 분석을 해봐야 됩니다.

       그래야 어느 부분에서 Data를 가져와야 되는지 알 수가 있거든요.




        1~20위까지의 급상승 검색어에 대한 내용을 가져올건데 마우스 우측 버튼을 눌러 소스코드 보기 or 

        크롬에서 F12로(개발자도구) 소스를 분석해야됩니다.


        소스 분석을 해 보면 <div class="ah_roll_area PM_CL_realtimeKeyword_rolling"> 밑 부분에 

        급상승 검색어가 나와있는게 보이네요. (힌트는 찾았으니 이부분을 토대로 긁어보겠습니다.)




2. 네이버 실시간 검색어 검색 프로그램 만들기

 - 뉴스토픽 부분 연예, 스포츠 부분의 실시간 검색어를 크롤링 하는 프로그램을 만들게요.

1: #-*- coding : utf-8

2: import requests
3: from bs4 import BeautifulSoup

4: #Text를 html에 저장합니다.
5: html = requests.get("http://www.naver.com").text

6: #BeautifulSoup을 이용해 html을 read합니다.
7: soup = BeautifulSoup(html, 'html.parser')

8: #가져오고 싶은 Text 부분을 선택해서 가져옵니다.
9: #실시간 검색어는 이 부분에 있기 때문에 가져온 Data를 for문으로 출력 해 줍니다.
10: keywords = soup.select('.ah_roll_area .ah_k')

11: for i, keyword in enumerate(keywords, 1):
12:      print("{}위 {}".format(i,keyword.get_text()))



완성입니다. 동작이 잘되네요 ^^, 이렇게 하나하나 오늘도 파이썬을 공부해 나가고 있습니다.

다음엔 UI도 입혀보고 해야겠네요. 

이론적인 부분도 더 파고들어서 깔끔하게 정리해서 설명드릴 수 있도록 공부해봐야겠습니다.


다음 포스팅으로 찾아올게요.



웹크롤러는 과정이 길어질것 같아서 중간중간 다른 포스팅도 섞어가면서 연습을 하도록 할게요.


이번 시간엔 그간 아쉬웠던 파이썬의 GUI 프로그래밍 관련된 내용입니다.



지금까지 파이썬 프로그래밍을 연습해보면서 console에서만 실행 되는 모습이 조금 아쉬웠습니다.


그래서 찾아보니, 윈도우 GUI 디자인툴이 있더군요.


PyQt5라는 크로스플랫폼을 통해서 윈도우 GUI를 꾸밀 수 있다는 걸 확인했습니다.

- PyQt is a set of Python v2 and v3 bindings for The Qt Company's Qt application   

  framework and runs on all platforms supported by Qt including Windows, OS X, Linux,   

  iOS  and Android



설치해보고 직접 연습을 해봐야겠죠?


- 다운로드 사이트 주소 : https://www.riverbankcomputing.com/software/pyqt/download5



소스 패키지를 다운로드 해도 되고, 기존에 라이브러리 설치하듯 PyQt를 설치해도 됩니다.


PyQt를 설치했으니, 예제를 하나 작성 해 볼게요.

Hellow world 출력을 버튼으로 만들어 보겠습니다.



완성입니다.


윈도우 GUI 작성이 잘 되네요. 

아직 코드로 만들어내야되서 조금 불편한 부분이 남아있습니다. Qt 디자이너 툴이라는 것도 있는거 같으니까

다음엔 그것도 알아봐야겠네요.


다음 포스팅으로 뵐게요.



이전 1 다음