본문 바로가기

전체 글225

[AWS Lambda] 작성한 파이썬 코드를 PC를 켜지 않고 실행하기 - 지난번에 파이썬 특정 페이지에 새 글이 올라오면 텔레그램 봇을 통해 알림을 보내느 코드를 작성하였다. 2022.09.14 - [코딩] - [Python] 특정 페이지에 새 글이 올라오면 알림을 보내는 코드 [Python] 특정 페이지에 새 글이 올라오면 알림을 보내는 코드 - 특정 사이트에 새 글이 올라오면 텔레그램 봇을 통해 알림을 보내주는 코드를 작성했다. - 정적 사이트의 경우 BS4를 통해 파싱하는 것이 효율적이고 가볍지만, 내가 목표로 하는 사이트의 경우 sayyoung.tistory.com - 해당 코드를 실행시켜 두면 새 글이 올라올 때 알림이 오는 것까지는 구현하였다. - 문제는, 코드 실행을 위해 PC를 계속 켜 둘 수 없다는 것이다. 진정한 의미에서 자동화라고 보기 어렵다. - 따라.. 2022. 9. 17.
(2022.09.16) 국세기본법상 가산세를 면제할 수 있는 정당한 사유가 있는지 여부 판단시점은 개별 세법에 따른 신고납부기한임 - 국세기본법상 가산세 부과할 수 없는 정당한 사유가 있는 경우에는 이를 면제한다. - 최근 대법원 사례는 횡령과 관련된 것인데, 종업원들이 클럽 입장권을 판매하고도 이를 판매하지 않은 것처럼 속인 것이다. - 종업원들이 횡령한 금액만큼 부가가치세 매출세액에 대한 신고 납부가 누락되었다. - 종합소득세, 개별소비세, 교육세도 누락되었다. - 회사는 2013년 2월에 종업원들의 횡령사실을 알게 되었다. 그러나 관련 세금의 귀속시기는 2009~2010년으로, 신고납부기한이 경과하였다. - 원심에서는 2013년 2월 이전에는 종업원들의 횡령 사실을 알기 전이므로 가산세 부과에 대한 정당한 사유가 있고, 가산세를 부과할 수 없다고 보았으나 2013년 이후에 미납한 분에 대해서는 가산세를 부과할 수 있다고 판시하.. 2022. 9. 16.
명령 프롬프트에서 폴더 내 모든 파일 압축 zip -r modules.zip . 2022. 9. 15.
[Python] 해당 폴더에 파이썬 모듈 설치하는 방법 - 명령 프롬프트에서 cd 명령어를 통해 대상 폴더로 이동. - "pip3 install 모듈명 -t ." 입력하여 해당 폴더 안에 모듈 설치 가능. - 맥북 폴더명은 특수문자 또는 스페이스 없애 두는 것이 좋다. cd desktop cd AWS_Lambda pip3 install bs4 -t . 2022. 9. 15.
[Python] while 조건문에 True 입력하면 무한루프 while 조건식에 True 입력하면 무한 반복 가능. while True; print('Hello, world') 2022. 9. 15.
[Python] telegram 모듈 설치 관련 - pip install telegram이 아니라 pip install python-telegram-bot으로 설치해야 함 - 그렇지 않으면 Bot을 찾을 수 없다는 오류 발생 pip3 install python-telegram-bot 2022. 9. 15.
희망은 결코 전략이 될 수 없다. 희망은 결코 전략이 될 수 없다(Hope is not a strategy). 2022. 9. 15.
[Python] 특정 페이지에 새 글이 올라오면 알림을 보내는 코드 - 특정 사이트에 새 글이 올라오면 텔레그램 봇을 통해 알림을 보내주는 코드를 작성했다. - 정적 사이트의 경우 BS4를 통해 파싱하는 것이 효율적이고 가볍지만, 내가 목표로 하는 사이트의 경우 동적 페이지다(글 로딩을 위해 JS 실행 필요). 따라서 셀레니움을 사용한다. - 아래 사항들을 알게 되었다. * 셀레니움 실행을 위해서는 chromedriver를 각 PC의 크롬 버전과 호환되도록 하는 것이 중요하여 시행착오를 겪었으며, 아래 코드를 통해 자동으로 최신 chromedriver를 사용할 수 있다. browser = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options) * 셀레니움의 By 기능을 통해 fi.. 2022. 9. 14.
[Python] BeautifulSoup4는 동적 페이지 파싱 불가 BS4가 가볍고 빠르지만 HTML 안에 JS 코드가 삽입되어 있어서 JS 코드 실행 전 페이지가 전체 로딩되지 않는다면 BS4로는 파싱이 어렵고 Selenium을 이용해야 한다. 셀레니움 대신 pyppeteer를 이용하기도 한다. 2022. 9. 14.
[Python] AWS lambda 서버리스 컴퓨팅 어떤 홈페이지의 새 글이 올라오면 알림을 보내주는 코드 공부 중. 컴퓨터를 켜놓지 않고도 코드를 실행할 수 있게 해 주는 서비스로 아마존의 AWS lambda 라는 것이 있다. 2022. 9. 14.
[Python] Selenium 브라우저 팝업 없이 스크래핑하기(headless) from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager #크롬 옵션 설정 options = Options() options.add_argument('--headless')#브라우저 팝업 없이 코드 실행 options.add_argument("user-agent= 각자의 UserAgent 값 확인 후 입력")#headless로 접근하는 경우 서버에서 차단하는 경우 있으므로 설정 #자동으로 웹드라이버 최신 버전 적용,.. 2022. 9. 14.
[Python] Pandas 컬럼의 문자열 위치 기준 슬라이싱 - 파이썬 Pandas 사용 중 문자열을 슬라이싱하는 경우가 있다. - 아래의 Seperator는 종목코드와 보고서 종류(분기, 반기 or 온기)를 표시하는데, 이를 종목코드와 보고서종류로 나누는 작업이 필요하다/. - DataFrame['열_이름'].str.slice(start=시작 위치, stop=끝 위치) - 시작 위치는 포함, 끝 위치는 미포함 - 문자 8개가 필요하고, 0번째 위치부터 7째 위치까지 사용하므로 아래와 같이 설정한다. - 보고서 종류는 문자열 시작 위치만 지정해 주고 끝은 설정하지 않는다. dart_data_BS_2['종목코드'] = dart_data_BS_2['seperator'].str.slice(start=0,stop=8) dart_data_BS_2['보고서종류'] = dar.. 2022. 9. 13.