728x90
반응형
SMALL

파이썬(Python) 75

[ Tkinter ] 파이썬 Tkinter 버튼 만들기(Python Tkinter Button), 그리드(grid)

기본 프레임 만들기 Tkinter 모듈을 이용해 창을 만들때 프레임을 먼저 생성하고, 그 안에 버튼이나 리스트 박스 등을 배치한다고 생각하시면 됩니다. 대략 이런 형태가 됩니다. 프레임 안에 위젯을 배치하고, 프레임 안에 프레임을 또 생성하여 위젯을 배치할 수 있습니다. 위젯은 버튼, 리스트박스, 체크박스, 스크롤바 등이 있습니다. 프레임은 기본적으로 하나 이상이 됩니다. 기본 프레임을 만드는 코드입니다. from tkinter import * root = Tk() main_frame = Frame(root) main_frame.grid() # 위젯 배치 코드 작성 공간 root.mainloop() 위 코드를 실행하면 아래와 같이 창이 생성됩니다. 위 그림을 보시면 그림 하나와 창을 최대화하는 버튼, 닫..

파이썬(Python) 2022.12.06

[ 크롤링-Selenium ] 파이썬 다음 블로그 크롤링(Python Selenium)(4)-엑셀 저장

파이썬 다음 블로그 크롤링(1) 파이썬 다음 블로그 크롤링(2) 파이썬 다음 블로그 크롤링(3) 위 포스팅과 연결되는 글입니다. 검색어를 입력 받고, 엑셀파일로 검색 결과를 저장하는 방법입니다. 먼저 검색어를 입력받아 search_word 라는 변수에 넣어줍니다. search_word = input("YouTube 검색어를 입력하세요 : ") 아래쪽 큰 빨간색 네모박스에 부분입니다. 저는 위 경로에 DaumScrap.xlsx 파일로 저장을 할 것인데, 해당 경로에 파일이 있다면 불러옵니다. 그리고 check_new_file 변수에 0을 넣습니다. 해당 파일이 없다면 에러가 발생하므로 except 아래 구문이 실행됩니다. 해당 파일이 없다면 엑셀파일을 하나 만들고 check_new_file 변수에 1을 넣..

파이썬(Python) 2022.11.24

[ 크롤링-Selenium ] 파이썬 다음 블로그 크롤링(Python Selenium)(3)-페이지 이동

다음 포털에서 [ 파이썬 ]을 검색 한 후 [ 블로그 ]를 살펴보면 아래 그림과 같이 32개의 페이지가 있는 것을 확인할 수 있습니다. 검색어를 [ 블로그 ]로 바꾸면 15개의 페이지가 있는 것을 확인할 수 있습니다. 이처럼 검색어를 바꿀 때마다 페이지의 숫자가 달라지기 때문에 몇번을 반복할 지 특정하기 어렵습니다. 앞선 포스팅에서 파이썬의 블로그 검색결과에 대한 정보는 [ list_info ty_doc ]라는 이름을 가진 클래스 안에 포함되어 있는 것을 확인했었습니다. 페이지 수를 하나하나 늘려가다가 [ list_info ty_doc ]라는 이름을 가진 클래스가 없다면 프로그램을 종료하게 만들면 될 것 같습니다. url = "https://search.daum.net/search?nil_suggest=..

파이썬(Python) 2022.11.24

[ 크롤링-Selenium ] 파이썬 다음 블로그 크롤링(Python Selenium)(2)

지난 포스팅에서 다음 블로그의 제목과 URL을 가지고 오는 방법을 작성했습니다. 지난 포스팅은 여기를 참고하세요 오늘은 블로그 게시 날짜를 가지고 오는 방법을 알아보겠습니다. 위 그림에서 빨간색 부분은 블로그의 리스트가 들어있는 부분에 대한 영역입니다. 아래 그림의 파란색 네모 안의 정보를 담고 있는 부분입니다. 아래 그림의 빨간색 네모 부분과 파란색 네모 부분을 살펴보겠습니다. 위 그림의 빨간색 부분과 노란색 부분은 아래 그림의 빨간색 부분과 노란색 부분에 해당합니다. 블로그 검색결과에서 날짜는 [ list_info ty_doc ] 클래스 안에 있는 [ area_writer ] 클래스 안의 [ f_nb ]클래스 중 두번째 [ f_nb ]클래스에 해당하는 요소의 텍스트를 추출하면 됩니다. 대략 위 그림과..

파이썬(Python) 2022.11.23

[ 크롤링-Selenium ] Python Selenium 요소 찾기(Locating Elements)

Selenium 모듈을 사용하여 요소를 찾기 위해서 아래 두 함수를 사용합니다. find_element() find_elements() 위 두 함수를 사용하기 위해서는 아래 모듈을 import 해주어야 합니다. from selenium.webdriver.common.by import By find_element() 와 find_elements()의 차이점은 다음과 같습니다. find_element()는 여러개의 요소가 있어도 첫번째 요소의 위치를 반환합니다. find_elements()는 여러개의 요소를 list 형태로 반환합니다. 요소의 위치를 찾는 방법은 여러가지가 있습니다. ① ID 사용 : find_element(By.ID, "id") ② NAME 사용 : find_element(By.NAME, ..

파이썬(Python) 2022.11.22

[ 크롤링-Selenium ] 파이썬 다음 블로그 크롤링(Python Selenium)(1)

다음 블로그를 크롤링하는 방법에 대해 알아보겠습니다. 먼저 import할 모듈은 다음과 같습니다. from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service import time import datetime 먼저 다음에서 [ 파이썬 ]을 검색을 합니다. 검색 후 마우스를 스크롤하여 조금 내려 [ 블로그 ]를 클릭합니다. 이때 주소창에 보이는 주소는 아래와 같습니다. https://search.daum.net/search?p=1&q=%E..

파이썬(Python) 2022.11.21

[ 크롤링-Selenium ] Python Selenium get_attribute() 셀레니움 요소값

요소값을 확인하기 위해서 get_attribute()를 사용할 수 있습니다. 다음포털의 메인화면에서 [ 게임 ] 부분을 살펴보면 [ a 태그 ]의 요소로 [ href ]가 있으며 해당 값은 [ https://game.daum.net ]입니다. 이 값을 확인하기 위해 get_attribute()를 사용할 수 있습니다. i = driver.find_element(By.CLASS_NAME, "txt_pctop.link_game") time.sleep(3) print(i.get_attribute("href")) 먼저 [ 게임 ] 부분에 대한 내용을 [ i ]에 담고 i.get_attribute("href")를 print 하면 https://game.daum.net 가 출력됩니다. 하나의 태그 안에는 여러가지 요..

파이썬(Python) 2022.11.20

[ 크롤링-Selenium ] selenium is_displayed(), 화면에 보이는지 여부 확인

셀레니움의 is_displayed() 는 해당 요소가 화면에 보이는지를 확인하는 역할을 합니다. 화면에 보이면 True를 반환하고 화면에 보이지 않으면 False를 반환합니다. 아래 그림은 다음의 검색창입니다. 해당 부분의 [ class ]는 [ box_search ]입니다. i = driver.find_element(By.CLASS_NAME, "box_search").is_displayed() print(i) 위 코드를 실행하면 True가 반환됩니다. 다음은 아래 그림과 같이 [ class ]가 [ screen_out ]인 요소를 확인해 보겠습니다. i = driver.find_element(By.CLASS_NAME, "screen_out").is_displayed() print(i) 위 코드를 실행하..

파이썬(Python) 2022.11.19

[ 크롤링-Selenium ] Python Selenium 입력창 초기화, 입력 내용 지우기(clear)

◆ 텍스트 입력하고 초기화하기 다음이나 네이버 같은 포털 사이트에는 검색어를 입력할 수 있습니다. 검색어를 입력하고, 초기화하는 방법입니다. 지난번 포스팅에서 네이버에 검색어를 입력하는 방법을 작성했었습니다. 여기를 참고하시면 됩니다. 다음 포털에서 알아보겠습니다. [ F12 ]를 눌러 검색창을 클릭해 보면 오른쪽 파란색 부분이 해당 검색창에 해당하는 내용임을 알 수 있습니다. 해당 부분의 [ class 의 이름 ]은 [ tf_keyword ]입니다. 검색창에 검색어를 입력하려면, i = driver.find_element(By.CLASS_NAME, "tf_keyword") i.send_keys("파이썬") 이렇게 하면 검색어에 파이썬이 입력이 됩니다. 이렇게 입력한 검색어를 초기화 하려면 [ clear..

파이썬(Python) 2022.11.18

[ Tkinter ] 파이썬 Tkinter 윈도우 만들기, 윈도우 위치, 윈도우 크기 조절

tiknter 모듈을 사용하면 파이썬으로 창을 만들 수 있습니다. import tkinter as tk tk = tk.Tk() tk.mainloop() 위 코드를 실행하면 다음과 같이 창이 하나 나타납니다. 창의 크기를 설정하려면 다음과 같이 geometry() 함수를 사용하면 창의 크기를 설정할 수있습니다. tk.geometry("500x300") 이렇게 코드를 작성하고 처음 실행하면 창이 나타나는 위치는 아래 그림과 같이 좌측 상단에 위치하게 됩니다. 창이 처음 나타나는 위치를 설정하기 위해서는 다음과 같이 코드를 작성하면 됩니다. tk.geometry("500x300+300-500") 창의 크기를 설정한 상태에서 [ +300 ]을 사용화면 좌측을 기준으로 [ 300 ]위치에 [ -500 ]을 사용하..

파이썬(Python) 2022.11.05
728x90
반응형
LIST