본문 바로가기
반응형

잡지식 저장고/크롤링4

[KAIST한정]전문연구요원 출퇴근 관리 텔레그램 봇을 만들어보자(2) 2024.01.17 - [잡지식 저장고/크롤링] - [KAIST한정]전문연구요원 출퇴근 관리 텔레그램 봇을 만들어보자(1) 이전 게시글에서 카이스트 인증 통과 및 전문연구요원 근태관리 사이트에 접속하여 정보를 읽어오는 과정까지를 다뤄보았다. 이번 게시글에서는, 이렇게 얻은 정보를 추가적인 인증 없이 나에게 일정시간마다 텔레그램을 통해 보내는 기능을 설명한다. 1. 오라클 무료 클라우드 인스턴스 할당받기(개인 서버가 있다면 스킵) 항상 동작하면서 일정시간마다 나에게 메시지를 보내는 서비스를 제대로 구동시키려면, 가장 먼저 언제나 켜져있는 서버가 필요하게 된다. 연구실에서 내가 오롯이 쓸 수 있는 서버장비가 구비되어있거나 한다면 편하겠지만 그렇지 않은 경우도 많을테고, 실물 서버는 언제든 전원이 꺼진다거나 .. 2024. 1. 16.
[KAIST한정]전문연구요원 출퇴근 관리 텔레그램 봇을 만들어보자(1) Introduction (왜 만들었는지 설명하는 잡설, 스킵해도 됨) 필자는 카이스트에서 전문연구요원으로 2021년도에 편입하여 다가오는 2024년도 2월말에 소집해제가 되는 말년 이등병 소총수이다. 전문연구요원으로서 복무하는동안 출퇴근은 아주 중요한 관리 안건이었다. 2022년 전까지는 10AM 까지 출근을 깜빡하고 찍지 않으면 지각 페널티를 물었고, 이외에는 하루 8시간을 잘 채우면 끝나는 것이라서 어떻게 보면 관리 난이도 자체는 낮았다고 할 수 있겠으나, 2022년도 자율출퇴근 이후에는 주 40시간 중에 내가 오늘 얼마나 했고, 앞으로 얼마나 남았는지를 분 단위로 계산하는게 상당히 고역이었다. 더욱이, 자율출퇴근 초창기에는 시스템 상에서 지원해주는 기능이 몇 없었기 때문에 필자는 이를 자동으로 해줄.. 2024. 1. 16.
셀레니움 없이 웹페이지 스크린샷 뜨기 셀레니움 셀레니움(Selenium)은 웹 드라이버 기반의 강력한 툴로써 크롤링 등 여러가지 용도로 널리 쓰이고 있는 라이브러리이다. 셀레니움의 강점은 그 쉬운 사용법에 있는데, 예를 들어 특정 url에 접근하여 페이지 스크린샷을 찍고싶다고 한다면 아래와 같이 간단한 코드로도 수행할 수 있다. from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() # options.add_argument("--headless") options.add_argument('log-level=3') options.add_argument(f"--window-size=1920,1080") options.. 2023. 3. 6.
Python Multiprocessing으로 병렬처리, 크롤링으로 맛보기 Why Multiprocessing? Python은 Global Interpreter Lock(GIL) 로 인해서 원칙적으로는 c에서와 같이 fork 등 프로세스 분기가 막혀있다. 그럼에도 불구하고 유사한 효과를 제공할 수 있는 여러가지 방법들을 제공하는데, 이 중 multiprocessing, 그 중에서도 Pool을 다뤄본다. 크롤러나 I/O를 포함하는 파이썬 스크립트나 c backend가 없는 프로그램의 경우 단일 스레드만 사용하면 시스템 리소스 사용 효율이 너무 떨어지는 경우가 생기는데, 이 때 이걸 어느정도 해결하는 방법이 multiprocessing이다. SIMD vs Pipeline 공식문서에서 수 많은 용례를 확인할 수 있고, threadpoolexecutor, processpool exec.. 2023. 2. 18.