전체보기
-
다음 카페 크롤링(2023년 업데이트)Python/파이썬 웹 크롤러 2023. 11. 19. 15:58
* 지나친 크롤링은 서버에 무리를 줄 수 있으며, 계정 정지 처분을 받을 수 있습니다. 달라진 부분 1. 다음 카페의 로그인 방식 2. 셀레니움의 버전업 3. 웹 드라이버 자동 설치 설치 pip install selenium pip install webdriver-manager 코드 from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By # 크롬 드라이버 자동 설치 from webdriver_manager.chrome import Chr..
-
파이썬: 콜백함수(callback)Python/이것저것 파이썬 2023. 10. 23. 07:00
함수(function)는 일등 시민(first-class citizen) 파이썬에서 함수는 일등 시민이다. https://ko.wikipedia.org/wiki/%EC%9D%BC%EA%B8%89_%EA%B0%9D%EC%B2%B4 디테일한 것은 위키의 해당항목을 참고하면 된다. 일급 객체(first-class object)란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 인자로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다. 여기서 함수를 다른 함수에 인자로 넘길 수 있다는 점에 주목하자. 다음과 같은 것이 가능하다. * 함수명 뒤에 '()'를 붙이면 실행되고, 전달할 때는 함수명만 사용한다는 것에 주의한다. def say_hel..
-
파이썬: 람다 표현식Python/이것저것 파이썬 2023. 10. 7. 07:12
1씩 증가하는 카운터 import tkinter counter = 0 def add(): global counter counter += 1 label.config(text=str(counter)) root = tkinter.Tk() label = tkinter.Label(root, text=str(counter)) label.pack() button = tkinter.Button(root, text='증가', width=15, command=add) button.pack() root.mainloop() 여기에 5씩 증가하는 버튼을 추가한다면? import tkinter counter = 0 def add1(): global counter counter += 1 label.config(text=str(co..
-
[python] emf 2 pngPython/이것저것 파이썬 2023. 8. 2. 10:04
PPT를 만들기 위해 PDF에 있는 사진을 천여장 옮기게 되었다. 열심히 복붙했고 --; 그런데 완성된 파일이 너무 큰 게 아닌가 ㅠ,.ㅠ pptx 파일 확장자를 zip으로 바꾼 뒤 압축을 풀면 안에 파일을 구경할 수 있다. 이미지 파일이 신기하게도 EMF라는 특이한 확장자로 되어 있더란~!! 꿀뷰에서도 지원되지 않는 특이한 포맷... (어도비의 벡터이미지 포맷인가보다.) 혹시나 파이썬의 PIL로 읽을 수 있을까 해서 돌려보니... 헉 잘 읽힌다... 이거슨~! https://www.adobe.com/kr/creativecloud/file-types/image/vector/emf-file.html EMF 파일의 정의와 여는 방법 | Adobe 벡터 이미지 포맷인 EMF(Enhanced Metafile)에..
-
-
프로그래머스 / 두 원 사이의 정수코딩 테스트/Level 2 2023. 4. 15. 15:54
https://school.programmers.co.kr/learn/courses/30/lessons/181187 파이썬 def solution(r1, r2): answer = 0 pow_r1, pow_r2 = r1 ** 2, r2 ** 2 for y in range(1, r2 + 1): temp1 = pow_r1 - y ** 2 if temp1 >= 0: temp2 = temp1 ** 0.5 x1 = int(temp2) - (1 if temp2 == int(temp2) else 0) else: x1 = -1 answer += int((pow_r2 - y ** 2) ** 0.5) - x1 return answer * 4
-
프로그래머스 / 연속된 부분 수열의 합코딩 테스트/Level 2 2023. 4. 11. 23:29
https://school.programmers.co.kr/learn/courses/30/lessons/178870 파이썬 이렇게 쉽게는 넘어가지 않겠지.. def solution(sequence, k): answer = [] for i in range(len(sequence)): for j in range(i + 1, len(sequence) + 1): s = sum(sequence[i:j]) if s == k: answer.append([i, j - 1]) elif s > k: break return sorted(answer, key=lambda x: x[1] - x[0])[0] 소티드를 이용해서 간결하게.. def solution(sequence, k): answer = [] left = right..