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

오늘은 네이버 사이트의 날씨 정보에서 미세먼지 정보를 가져오는 코드를 살펴 보도록 하겠습니다.

상당히 간단한 코드로 미세먼지 정보를 가져올 수 있어요.

 

출근 시간이 다가와서... 사진으로 대체 합니다.

1. 크롬으로 웹사이트에서 검색 후 F12 버튼을 누르면 웹사이트 분석 도구창이 뜸

    --> 원하는 정보를 검색한 뒤 HTML구조 분석이 필요

2. 미세먼지 정보의 구조를 파악 했으면, 파이썬을 통해 해당영역 정보를 가져와야됨

3. 가져온 정보를 텍스트 부분만 출력

 

원하는 부분의 값이 제대로 출력 된 걸 확인할 수 있습니다.

 

지난 포스팅에 이어 Pandas로 시작하는 데이터 분석#1-1입니다.

 

우선 한글 표현관련... 지금 포스팅을 작성하는 PC에서는 엑셀 파일을 로드한 후에는 

Matplotlib를 이용한 그래프를 출력시 한글이 깨지는 문제가 존재함을 확인하였습니다.

 

다른 PC에서는 한글 표현이 제대로 되는 것을 확인하였기 때문에 한글이 깨지는 

정확한 이유는 알 수가 없어서 설명을 못드리겠습니다.

 

이번 포스팅에서는 한글 폰트 사용에 대한 설정 방법을 알려드리도록 하겠습니다. 

 


#한글 폰트 사용
from matplotlib import font_manager,rc
import matplotlib
import matplotlib.pyplot as plt
 
#폰트 경로
font_path = "C:/Windows/Fonts/자신의한글폰트.ttf"
 
#폰트 이름 얻어오기
font_name = font_manager.FontProperties(fname=font_path).get_name()
 
#font 설정

matplotlib.rc('font',family=font_name)
 
#작업

plt.plot([1,2,3,4])

plt.xlabel("시간")

plt.ylabel("거리")

plt.show()


 

파일 로드 없이 그래프 출력시에는 정상적으로 한글이 표시가 됩니다.

 

Pandas는 데이터 분석용 오픈 소스 라이브러리입니다.
Python Data Analysis Library
https://pandas.pydata.org/

 

Python Data Analysis Library — pandas: Python Data Analysis Library

Python Data Analysis Library pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language. pandas is a NumFOCUS sponsored project. This will help ensure t

pandas.pydata.org

이 글을 쓰는 시점엔 0.251 버전이 릴리즈 되어 있네요.

 

이번에 연습해보려고 하는 데이터 분석은 아래 2가지 형태입니다.

(기능적으로는 크게 3가지로 구분됩니다. - 파일 읽기, 필터링, Plot 그리기)

 

1. 엑셀 or CSV 파일 읽고 Plot 그리기                                 

2. 엑셀 or CSV 파일 읽고, 원하는 형태로 필터링 후 Plot 그리기

 

하나하나 차근히 코드를 작성해보겠습니다.

 

우선 엑셀 데이터를 준비해주세요.

전 간단하게 아래와 같은 테이블을 만들었습니다.

엑셀 파일 또는 csv파일로 저장해주세요. 전 test.csv파일로 저장했습니다.

 

1. 엑셀 or CSV 파일 읽고 Plot 그리기                                 

- Pandas 라이브러리를 pd로 쓰겠다고 import 한 다음, 미리 만들어둔 csv 파일을 읽는 코드입니다.

- *cp949 : 한국어판 마이크로 윈도우즈의 기본 코드 페이지, 한글 인코딩의 한 종류로 EUC-KR의 확장형이다.

              '통합 완성형' 이나 '확장 완성형' 이라고도 한다.

- *utf-8 : UTF-8 방식은 대표적인 조합형의 유니코드 인코딩 방식
-----------------------------------------------------------------------------------------------------------------------------------

import pandas as pd

 

data = pd.read_csv('data/test.csv', encoding='cp949')

print(data)

-----------------------------------------------------------------------------------------------------------------------------------

파일 읽기 완성

 

 

그래프는 잘 나왔는데... 한글이 깨졌네요.

한글이 제대로 나오게 하려면 아래와 같이 코드를 추가해 줍니다.

...??? 되어야 하는데. 안되네요. 오늘은 여기까지만 포스팅 하겠습니다.

 

안녕하세요.

 

지난 포스팅에 잘못된 정보가 전달된 것을 확인하고 정정 드립니다.

 

[12. 파이썬 에디트 도구] 파이참 사용하기

 

[12. 파이썬 에디트 도구] 파이참 사용하기

파이썬 에디트 도구로 파이참이 유명하다고 하네요. 다운로드는 아래 사이트에서 하시면 되요. http://www.jetbrains.com/pycharm/ 음... 전 여기까지만, 실제 사용은 하지 않을 예정입니다. 무료 제품이 아닌..

nearman.tistory.com

포스팅 내용 중 파이참은 무료가 아니라서 사용하지 않겠다라고 내용을 적었는데, free 버전이 있는 것을

재 확인하였습니다. 

 

파이참 다운로드는 아래 링크로.

https://www.jetbrains.com/pycharm/download/#section=windows

Community 버전은 free, open-source 입니다.

 

설치를 완료하고 hello project를 만든 상태입니다.

 

프로젝트를 open한 상태입니다.

 

실행을 클릭해서 실행결과가 나온 상태입니다.

 

저는 지금까지 파이썬 프로그래밍시 기본 제공되는 IDLE만 사용하였는데, 에디터를 활용해서 프로그래밍을 하는 것도 괜찮을 것 같네요.

 

아직은 많이 써본 상태가 아니라서. IDLE과 병행해서 쓰면서 장단점을 알려드리도록 하겠습니다.

안녕하세요.

 

프로그래밍 공부를 취미로 하다, 드디어 저도 책을 써보기로 마음 먹었습니다.

제가 생각하는 책을 쓴다는 의미는 한분야에 주제를 정하고 각 주제에 맞는 내용을 처음부터 끝가지 써내려가는 것이라 생각합니다. 

그리고 정보의 전달이 필요한 학습 보조 자료의 경우 잘못된 정보가 전달되지 않도록 철저한 검증이 필요하단 것도 알고 있습니다.

 

오랫동안 생각만 해왔던 부분인데, 드디어 도전을 하기로 결정했습니다. 

향 후 어떻게 될 지는 모르겠지만 차곡차곡 도전해 보도록 하겠습니다. 

 

집필서적은 "A Byte of Python" 의 내용을 기반으로 여러가지 예제 등을 추가할 예정입니다. 

예제들은 프로그래밍 파이썬 카테고리에 하나하나 포스팅 해 둘 예정입니다.

아래는 서문이며 완성본을 기대해주세요. 

 

 

 

서문

파이썬은 간단한 코드로도 강력하다고 할 수 있는 동작을 수행할 수 있는 프로그램 언어 중 하나입니다.

처음 프로그래밍을 접하는 초보 입장에서는 쉬운 코드로 작성된 프로그램이 수준이 낮을 것이라 생각할 수도

있겠지만 다른 언어에서는 동일한 역할을 하는 프로그램을 만들려면 엄청난 노력이 필요하단 걸 알게 될 것입니다.

그만큼 파이썬은 강력한 언어이며, 초보자와 숙련자에게 모두 유용한 언어입니다.

또한 쉬운 코드, 가독성이 높은 만큼 파이썬 프로그래밍은 다른 언어에 비해 복잡하지 않고 즐겁습니다.

이 책은 여러분이 파이썬이라는 보다 아름다운 프로그래밍 언어를 배울 수 있도록 도와주는 가이드 역할을

하도록 만들었으며, 일상의 반복적인 일을 컴퓨터를 통해 빠르고 쉽게 해결하는 방법을 알려드리는 것을 목적으로

작성되었습니다.

 

 

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

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

사용방법은 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

안녕하세요. 

 

지난 포스팅 이후로 한참을 쉬었던것 같네요.

 

오늘은 작성된 프로그램을 소개하는 형태로 포스팅을 마칠 예정입니다.

조금씩 프로그래밍 공부를 하다 보니, 나중에 제가 학습한 내용을 바탕으로 강의를 해보는 것도 괜찮을 것 같다라는 생각이 들고 있습니다. 

그때를 위해 조금은 아껴두어야겠죠? 제가 만든 프로그램의 모든 소스가 들통(?) 나면... 부끄럽지만... 부끄럽겠죠 ㅋㅋ

 

오늘은 간단히 뭘 만들었는지만 소개할게요.

 

 

1. 프로그램 용도 : 네이버 영어사전 (단순)

2. 제작 사유 : 회사일을 할 때 영어 검색을 많이 해야되는데, 브라우저에서 검색하기가 불편해서... (단순 제 편의를 위함)

3. 기능 : 

   1) 영어 단어 검색 기능

   2) TTS 기능

   3) 검색한 단어 텍스트 파일에 자동 저장 기능

 

*단어를 검색하면, 한글로 설명된 내용이 정제되어 상기와 같이 출력됩니다.

 

 

다음엔 보다 흥미로운 주제로 찾아뵙겠습니다. 

이전 1 2 3 4 5 6 다음