Python/Do Something 33

python - pyinstaller 로 실행파일 만들기

※ 참고 ※ https://blog.naver.com/beyond_metadata Metadata : 네이버 블로그 Metadata.. blog.naver.com pyinstaller를 사용하면 python 스크립트를 가지고 실행 파일로 만들 수 있다. 우선 pyinstaller를 설치해준다. pip install pyinstaller 다음으로 pyinstaller ${파일명}.py를 실행시키면 파이썬 프로그램이 깔려있지 않아도 실행 가능한 파일들이 나온다. dist/build 라는 폴더가 생기고 해당 폴더 안에 파일들이 있다. pyinstaller ${파일명}.py 이제 실행파일(exe파일)로 만들어보자. -F 나 --onefile 옵션을 입력하면 된다. pyinstaller --onefile ${파일..

Python/Do Something 2023.01.24

python - random을 활용해서 load 분배, 원하는 비율만큼 함수 실행

※ 참고 ※ https://blog.naver.com/beyond_metadata Metadata : 네이버 블로그 Metadata.. blog.naver.com 이번편은 random.choice를 활용한 load 분배를 해보려고 한다. X라는 리스트에 네이버, 카카오, 구글이 있다고 가정했을 때 랜덤한 값을 뽑으러면 random.choice(X)를 하면 된다. 그런데 네이버, 카카오, 구글을 5:3:2의 비율로 뽑고 싶다면 어떻게 하면 될까? 방법이야 많겠지만 아래처럼도 할 수 있다. 우선 주소 옆에 capa(비율)을 설정해보자. import random url = [ ['네이버',5], ['카카오',3], ['구글',2], ] 그 뒤에 url_total 이라는 변수를 만들고 미리 지정한 숫자만큼 변수..

Python/Do Something 2023.01.24

python(selenium) - 크롤링 기본 사용법

※ 참고 ※ https://blog.naver.com/beyond_metadata Metadata : 네이버 블로그 Metadata.. blog.naver.com python selenium을 활용한 크롤링에 대해서 알아보고자 한다. 크롤링은 다들 많이 들어봤을거라고 생각한다. 크롬 등 웹에서 반복적으로 수행하는 일을 자동화 할수도 있고, 특정 게시글의 제목을 다 추출한다던가, 그림을 추출한다던가 응용하면 웹에서 반복적으로 수행해야 하는 일들을 자동화하기에 좋다. (이전 글중에 appium 을 통한 스마트폰 자동화랑 비슷하다) 우선 selenuim을 설치해보자. 이번편은 기본에 대해서 배울 것이므로 특별한 버전 없이 설치해도 무방하다. (신규 버전부터는 find_element_by_css_selector..

Python/Do Something 2023.01.24

python(selenium) - 대표 포털 사이트(네이버,구글,daum,zum,bing) 자동 검색하기

python selenium을 통해 대표 포털 사이트(네이버,구글,daum,zum,bing) 자동 검색하기를 해보고자 한다. selenium은 4버전 이상으로 한다. 1. Naver from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time url = 'https://www.naver.co.kr' options = webdriver.ChromeOptions() options.add_argument('start-maximized') driver = webdriver.Chrome('chromedriver.exe', options..

Python/Do Something 2023.01.19

python - random을 활용해서 load 분배, 원하는 비율만큼 함수 실행

이번편은 random.choice를 활용한 load 분배를 해보려고 한다. X라는 리스트에 네이버, 카카오, 구글이 있다고 가정했을 때 랜덤한 값을 뽑으러면 random.choice(X)를 하면 된다. 그런데 네이버, 카카오, 구글을 5:3:2의 비율로 뽑고 싶다면 어떻게 하면 될까? 방법이야 많겠지만 아래처럼도 할 수 있다. 우선 주소 옆에 capa(비율)을 설정해보자. import random url = [ ['네이버',5], ['카카오',3], ['구글',2], ] 그 뒤에 url_total 이라는 변수를 만들고 미리 지정한 숫자만큼 변수에 데이터를 담는다 url_total = [] for i in url: for j in range(0,i[1]): url_total.append(i[0]) prin..

Python/Do Something 2023.01.19

python(selenium) - 크롤링 기본 사용법

python selenium을 활용한 크롤링에 대해서 알아보고자 한다. 크롤링은 다들 많이 들어봤을거라고 생각한다. 크롬 등 웹에서 반복적으로 수행하는 일을 자동화 할수도 있고, 특정 게시글의 제목을 다 추출한다던가, 그림을 추출한다던가 응용하면 웹에서 반복적으로 수행해야 하는 일들을 자동화하기에 좋다. (이전 글중에 appium 을 통한 스마트폰 자동화랑 비슷하다) 우선 selenuim을 설치해보자. 이번편은 기본에 대해서 배울 것이므로 특별한 버전 없이 설치해도 무방하다. (신규 버전부터는 find_element_by_css_selector 등 기본적인 내용이 많이 바뀌었다. pip list로 selenium 버전이 4 이상이라면 3버전으로 설치하는것이 좋다 또는 pip list --outdated)..

Python/Do Something 2023.01.19

python(requests) - kakao api를 통해 data 받아와서 db에 저장하기 (3)

지난 편에서는 kakao api를 통해서 받아온 값을 출력해 주는 것까지 진행했다. 이번에는 받아온 결과값을 mysql db넣고자 한다. mysql db에 값을 넣으려면 pymysql을 사용하면 되는데 해당 방법은 이전 글을 검색하면 확인할 수 있으며, 이번 편에서는 mysql에 넣기 바로 직전 단계 (INSERT xxx) 까지만 진행한다. 이전편에서 설명했던 코드에서 아래 함수만 추가하면 된다. def insert_to_db(result_data): db_table = 'test_db' #mysql db table 생성후 이름 넣기 for idx in range(len(result_data)): keys = list(result_data[idx].keys()) values = list(result_da..

Python/Do Something 2023.01.19

python(requests) - kakao api를 통해 data 받아와서 db에 저장하기 (2)

지난 편에서는 kakao Developers에 가서 api request를 위한 Key도 받아오고, window cmd창을 통해 sample data도 날려 보았다. (이전 발행 글 참고) 그렇다면 python을 이용해서 curl을 날리고 받아온 값을 출력하도록 하자. 우선 원하는 항목을 검색하기 위해 input을 통해서 원하는 값을 받고 변수에 담자 query_name = input('What do you want to search?') 다음은 kakao Developers page에서 확인한 request정보들을 변수에 담자. 여기에서 rest_api_key는 이전 편에서 확인했는 REST API KEY 값을 넣어주면 된다. url = 'https://dapi.kakao.com/v2/search/we..

Python/Do Something 2023.01.19

python(requests) - kakao api를 통해 data 받아와서 db에 저장하기 (1)

이번 편은 kakao api를 통해 data를 받아오고 해당 결과 값을 db에 저장하는 것이다. 우선 kakao api를 다운받기 위해 아래 kakao Developers에 접속하자 https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 거기서 내 애프리케이션을 누르면 새로운 애플리케이션을 만들 수 있다. 그리고 나면 REST API 키 등 여러 키 등을 확인할 수 있는데 해당 KEY를 잘 기억해두자. 이제 어떤 API를 사용할지 정해야 하는데 kakao에서는 아래 내용 처럼 다양한 정보들을 제공해준..

Python/Do Something 2023.01.19

python 기초 - 다양한 방법으로 로또 번호 생성기 만들기

random 함수를 이용해서 로또 번호 만들기를 할건데 그 과정에서 여러가지 방법을 사용해보자. 그냥 생각나는 방법대로 막 만들어볼 것이다. 우선 random 함수는 아래처럼 기본적으로 0이상 1미만 사이의 난수를 생성한다. from random import * print(random()) # 0이상 1미만 사이의 난수 생성 print(random()) print(random()) 0.8612330209423659 0.7791022028358539 0.9651835672890571 로또 번호는 1~45까지의 정수이니 어떻게 하면 될까? 방법은 여러가지가 있겠지만 우선 3가지 방법을 공유한다. 1. random 함수에 45를 곱하고 1을 더한 후 정수(int)로 변경 2. randrange를 이용해서 1~..

Python/Do Something 2023.01.17