프로그래밍/Python
[Selenium] Edge 업데이트 이후 IEDriver 제대로 작동하지 않을때 - 익스플로러 Edge로 강제 리다이렉트 문제
글을 읽기 전 본 글은 IEDriver이 윈도우 업데이트 이후 강제로 엣지로 열려서 동작하지 않을 때 해결법입니다. 인터넷 익스플로러를 사용하실 일이 없다면 이 글을 보실 필요가 없습니다. 윈도우 업데이트를 하지 않으셨고 IEDriver이 정상 작동하시는 분들 역시 이 글을 읽을 필요가 없습니다. 최근 들어 마이크로소프트 사의 브라우저인 Edge에 많은 변화가 생겼습니다. 우선은 아시다 싶이 ChatGPT의 일종의 업그레이드(?) 판인 Bing Chat AI가 나왔는데 매우 우수한 성능으로 화제가 되고 있습니다. 이 Bing Chat 의 경우 우선적으로 Edge에서만 이용할 수 있습니다. (물론 꼼수를 이용하면 크롬에서도 Bing Chat을 사용할 수 있습니다.) Bing Chat 하나만으로도, Bing..
프로그래밍/Python
[Python] 크롬 브라우저의 모든 쿠키 가져오기
직접 작성한 코드 사용 #chrome_cookie_parser.py import os import json import base64 import sqlite3 import shutil from datetime import datetime, timedelta import win32crypt # pip install pypiwin32 from Crypto.Cipher import AES # pip install pycryptodome # 코드 참고 : https://www.thepythoncode.com/article/extract-chrome-cookies-python def get_chrome_datetime(chromedate): """크롬 형식의 날짜 및 시간에서 `datetime.datetime` ..
프로그래밍/Python
[Python] 구글 코랩(Google Colaboratory)에서 Selenium 사용하기
안녕하세요 파일입니다. 오늘은 Google Colab에서 Selenium을 사용하는 방법에 대해 포스팅 하겠습니다. 구글 코랩은 Jupyter NoteBook과 비슷한 방식으로 실행되는데 저도 정확하게 아는 것은 아니지만, 서버가 실행되서 그 웹페이지에서 코딩을 하고 거기서 코딩을 하면 서버가 커널을 실행해 코드를 연산합니다. 참고 : https://tobefreein2040.tistory.com/10 3. Jupyter Notebook 안녕하세요. 자꿈두입니다. 오늘 공부할 내용은 Jupyter Notebook입니다. Jupyter Notebook? Anaconda를 설치하게 되면 자동으로 설치되는 응용 프로그램중 하나입니다. Jupyter Notebook을 사용하게 되면요 1. 코 tobefreein..
프로그래밍/Python
[Python] 멀티 쓰레딩 vs 멀티 프로세싱 비교
https://www.youtube.com/watch?v=AZnGRKFUU0c 파이썬에는 GIL(Global Interpreter Lock) 이란게 걸려있어서 여러 쓰레드를 동시에 실행시켜도 결론적으론 한번에 하나의 쓰레드 밖에 실행하지 못합니다. 이런 반쪽짜리 멀티 쓰레딩 덕분에 파이썬이 실제로 욕을 많이먹었죠. 멀티 쓰레딩과 멀티 프로세싱을 비교하는 좋은 영상이 있어서 첨부해봅니다. 실제로 제가 이전에 구현하고 현재도 배포중인 네이버 웹툰 다운로더의 경우에도 파이썬의 멀티 프로세싱 모듈을 이용해 제작했습니다. 사실 개념도 잘 모르고 인터넷에 추천되있는걸 받아와서 사용한거긴 한데 뭐 결론적으론 올바른 선택이 아니였나 싶습니다.
프로그래밍/Python
[PyQT5] UI 불러올 때 VSCODE IDE 자동 완성 기능 활성화 하기 (UI 파일 자동 컴파일)
최근에 PyQT로 만든 프로젝트 코드를 리팩토링 하고 있습니다. PyQT 프레임워크를 이용하면 파이썬에서 GUI 프레임워크인 Qt를 쉽게 다루어 GUI 를 쉽게 구현할 수 있도록 해줍니다. 개인적으로 파이썬에서 GUI를 구현할 수 있는 최선의 방법이자 거의 유일한 선택지라고 생각합니다. tkinter 와 같은 파이썬 기본 라이브러리도 있으나 마개조를 거치지 않는 이상 C#의 윈폼보다도 훨씬 구린 디자인이 나옵니다. 반면에 Qt 로 개발하면 무려 CSS를 적용할 수 있는 장점이 있구요 (물론 모든 CSS가 잘 적용되는건 아닙니다만..) 잡담은 여기까지 하고, PyQT로 개발을 하면서 불편한 점은 UI를 불러오고, 그 UI 요소들에 접근할 때 사용할 수 있는 메소드나 데이터들이 IDE에서 자동완성되지 않는점..
프로그래밍/Python
디시인사이드 간편 글 검색기(탐색기) v0.15
Python 으로 제작한 디시인사이드 글 검색기 입니다. 프로그램 설명 간단하게 설명드리자면 기존 디시인사이드 사이트의 문제점인 글 검색 시스템을 개선시켜주는 프로그램입니다. 첨부한 사진처럼 디시인사이드는 서버의 부하를 줄이기 위해 글을 10000개 단위로 끊어서 검색하는데 PC는 해당 페이지에서 원하는 데이터가 없으면 다음 검색, 모바일은 다음 글 찾기 버튼 등을 이용해서 노가다로 글을 찾아야 하는데 10000개 단위내에서 찾아낸 글을 페이지 단위로 정렬해서 보여주기 때문에 옛날 글을 찾는게 거의 불가능하고 보기도 매우 어렵습니다. 본 프로그램은 이 노가다를 조금이나마 해소해주는 프로그램으로써, 반복횟수 만큼 페이지, 다음 글 찾기를 자동으로 탐색하며 검색으로 옛날글을 찾는데 도움을 주는 프로그램입니다..
프로그래밍/Python
많은 파일을 한꺼번에 폴더로 정리하자! Directory Packager
Directory Packager는 파일을 갯수단위로 묶어서 폴더로 정리해주는 프로그램입니다. 폴더를 묶을때 방식은 순차 작업, 균등 작업, 랜덤 작업으로 총 3가지를 지원합니다. 사용 방법 게임을 하면서 스크린샷을 찍었는데 플레이 타임이 100시간이 넘어가다 보니 파일이 1321개로 상당합니다. 티스토리에 올리려고 보니깐 한번에 50개씩 올리라고 하더라구요? 50개씩 파일 잡으니깐 햇갈리기도 해서 이런 다량의 파일을 파일 갯수 단위로 폴더로 정리해주면 어떨까 해서 한 번 프로그램을 만들어 봤습니다. 폴더 열기를 통해 작업할 폴더를 선택한 뒤, 순차 작업 모드로 50개, 폴더 명은 section_{i} 로 정합니다. {i} 는 자동으로 프로그램에서 붙여주는 번호에 대한 특별한 지정자 입니다. 예를 들어서..
프로그래밍/Python
[PyQT5] SFTP를 이용한 만능 자동 업데이트 런처 구현
위 게임은 "서든어택 2"의 게임 런처(실행기) 입니다. 이 게임은 말아먹은 뒤로 매일 SNS에 출시 임박 글이 올라오는 전설의 게임입니다. 대부분의 게임은 위처럼 일반적으로 * 런처라는 프로그램을 이용해서 다운로드, 업데이트, 실행 관리를 합니다. 제가 업무 자동화에 관련된 프로그램을 만들고 배포하면서 이러한 런처를 만들어야 할 상황이 생겼습니다. 매번 업데이트 하고 파일 배포하는게 정말 귀찮더라구요. * 런처 : 다른 소프트웨어를 실행시키기 위해 사용하는 소프트웨어 제가 배포하고 있는 프로그램에 대한 런처를 만들어서 자동 업데이트 하고 실행까지 처리하면 좋을 꺼 같아서 요새 GUI 프로그래밍에 한참 사용하고 있는 PyQt5 프레임워크와 파이썬을 통해서 한번 구현해봤습니다. 사실 이렇게 다운로드를 받을..
이모티콘창 닫기
울음
안녕
감사
당황
춤
피폐