블로그 이미지
잡다한 취미 생활 및 일상에 대한 소소한 이야기를 적어나가는 블로그입니다.
붉은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을 통한 웹자동화 실제 사용은 다음 포스팅에 설명하도록 하겠습니다.

이번엔 유튜브 채널 주소를 이용한 자동 구독 프로그램을 만들었습니다.

유튜브 구독자 늘리기가 어려우신 분은 이 프로그램으로 구독자를 폭발적으로 늘릴 수 있을 거 같습니다.

사용방법은 file.txt에 자신의 채널을 등록하여 프로그램을 재배포하면 되는 형태로 

프로그램 실행을 하면 등록된 채널에 자동으로 접근하여 구독을 누르게 되는 프로그램입니다.

유튜브 채널 등록 파일

사용법 : 포함되어 있는 file.txt에 자신의 유튜브 채널을 등록하고 재배포 합니다.

 

프로그램 실행 화면

구글ID와 비밀번호를 입력하면, 

자동적으로 구글계정에 접근하여 등록채널을 구독하게 되는 형태입니다.

 

맞구독형태가 아닌 프로그램을 뒤에 실행하는 사람이 앞사람의 채널을 구독하는 형태로 유튜브 정책에도 어긋나지 않게 만들어져있습니다.

(정책 위반에 대해서는 정확하지 않으므로, 유튜브 본계정에는 사용하지 않는 것을 권합니다.)

 

이론적으로는 상기 프로그램을 사용하여 제대로 재배포 된다면 엄청난 구독자 수의 증가를 기대해 볼 수 있습니다.

 

1. 채널 1 - 프로그램 재배포 받은 분들의 구독이 계속 추가됨

2. 채널 2 - 프로그램 재배포 받은 분들의 구독이 계속 추가됨

3. 채널 3 - 프로그램 재배포 받은 분들의 구독이 계속 추가됨

 

(1.2.3의 과정에서 채널1,2,3의 주소가 계속 등록 되어 있으므로 이분들의 구독자는 계속 늘어납니다.)

 

처음 배포 버전의 용량입니다. 
구글ID와 비번 입력후 자동구독 실행을 클릭하면 자동 구독이 완료됩니다.
자동 구독 이후 자신의 채널을 등록합니다. (채널 주소 입력 - 채널 목록 저장버튼 클릭)
등록된 채널을 확인하고 프로그램 재배포

 

이상입니다.

 

유튜브 수익창출 조건 - 구독자 1000명/연간 시청시간 4000시간

 

Ps. 최종 승리(?)를 위해서는 결국 자신만의 차별화된 콘텐츠와 질로 승부하셔야 될 것입니다.

유튜브 초기에는 구독자를 늘리고 싶은 마음에 여러 유혹에 흔들릴 수 있겠지만 이렇게 성장한 채널은 지속가능성이 떨어질 수 있습니다. 

그럼에도 불구, 본 프로그램의 사용을 원하신다면 e-mail 주소 댓글로 남겨주시면 보내드리도록 하겠습니다.

 

e-mail로 많은 요청이 접수되어, 네이버 카페를 개설하였습니다. 일일이 제가 다 보내드릴 수 없는 관계로 카페를 통해 다운로드 받아주시기 바랍니다.

 

https://cafe.naver.com/njobroad

예전에 유행했던 적이 있는 유튜브 동영상 다운로더를 파이썬으로 만들어 보았습니다.



※ 주의

유튜브 다운로더는 엄연히 유튜브 약관 위반이므로 사용시 발생되는 모든 책임은 스스로 책임지셔야 함을 알려드립니다.


B. 콘텐츠는 있는 그대로 귀하에게 제공됩니다. 귀하는 본 서비스의 제공된 기능을 통하여 의도한 대로, 그리고 본 약관에 의해 허용된 대로 참고 목적 또는 개인적인 목적에 한하여 콘텐츠에 접속할 수 있습니다. 귀하는 해당 콘텐츠에 대하여 본 서비스에서 YouTube가 표시한 “다운로드” 또는 그와 유사한 링크를 발견하지 않는 한 콘텐츠를 다운로드 하면 안 됩니다. 귀하는 YouTube 또는 각 콘텐츠의 라이센서의 사전 서면 동의 없이는 어떠한 목적으로도 콘텐츠를 복사, 복제(reproduce), 온라인으로 제공하거나 전자적인 방법으로 전송하거나, 발표, 각색, 배포, 전송, 방송, 전시(display), 판매, 라이센스 허여하거나 달리 이용하지 않아야 합니다. YouTube와 라이센서들은 본 서비스 및 콘텐츠에서 명시적으로 허여되지 않은 모든 권리를 보유합니다.



준비물

1. pytube

   : 유튜브 영상을 다운로드 받을 수 있게 해주는 라이브러리입니다.

     https://python-pytube.readthedocs.io/en/latest/ 


라이브러리 다운로드를 먼저 해 주세요.


>>> pip install pytube

끝입니다.


실행은 스스로 해보세요^^ 

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


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


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


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


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



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


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

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


준비물 (라이브러리)

   - 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 디자이너 툴이라는 것도 있는거 같으니까

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


다음 포스팅으로 뵐게요.



파이썬 3.7 설치를 완료하였습니다.


이제 모든 프로그래밍 언어의 첫 시작인 "Hello World" 를 출력해 봐야겠어요.


파이썬을 설치하고 나면, IDLE이라는 아이콘을 실행하여 아래와 같은 창을 띄울수 있어요.

파이썬 언어는 인터프리터언어로 1줄, 1줄 직접 치면서 실행해 볼 수 있습니다.

(파이썬을 처음 접했을때 느낌은, 어릴때 접했던 베이직과 비슷한 느낌이었어요.)

자, 그럼 Hello World를 출력해 봐야겠죠?

출력 명령어는 역시 Print 였습니다 ㅎㅎ


>>> print("Hello World")


출력이 잘 되네요.



파이썬에게도 인사를 해보겠습니다.


>>> print("Hello Python")

잘 동작되는 것을 확인했으니 다음번엔 좀 더 난이도를 높여 보도록 하겠습니다.


워드클라우드 기능을 구현해서 빅데이터 분석이 다음번 목표입니다. 

[1. 설치] 파이썬 시작합니다.

2018. 12. 7. 06:54 | Posted by 붉은kkk

파이썬을 이제 접해보려고 해요.


요즘 자동화 도구, 빅데이터 분석을 파이썬으로 많이들 한다고 해서 공부해보려고 합니다.


우선 설치부터^^


1. 파이썬 홈페이지에 접속합니다.

https://www.python.org/

2. 자신의 운영체제에 맞는 버전을 설치해줍니다.

- 2.X버전과

- 3.X버전 2가지의 버전이 있는데 저는 우선 3.X만 설치해서 공부해 볼 예정이에요.

이렇게 자신에게 맞는 운영체제 버전으로 설치를 하면 됩니다.


다음엔 공부하면서 익힌 것들을 하나씩 올려보도록 하겠습니다.



VBA는 회사 업무를 효율적으로 하기위해선 꼭 필요한 것 같습니다.


오늘도 하나의 자동화를 완성시켜보았네요.


프로그래밍을 배워야 되는 이유는 논리적인 사고력을 키울 수 있고 일상생활에도 쉽게 접목이 가능하네요.

인터넷에 넘쳐나는 코딩예제를 보면서 필요한 기능을 하나 하나 구현해 가는 재미가 있네요.


오늘 구현해본 기능은

1) Data 변환 

    기존 엑셀 data --> 원하는 data형태로 raw data 변환  

    (행 열 배열 변환이라고 보시면되요)

2) 기존 워크시트에서 필요한 부분만 발췌하여 새로운 워크시트에 저장

3) 작업이 진행되는 도중 Status 창에 진행 상태 표시


조금씩 실력이 늘어 가는게 느껴지네요.


꾸준히 공부하면서 구현해보고 싶은 기능을 차근차근 구현해봐야겠습니다.


Ps. ^^ 진종오 금메달 축하!!! 라이브로 봤는데 대박이었습니다.

이전 1 다음