본문 바로가기

회사원코딩50

[파이썬-한/글 자동화] 한/글파일로 정규식 찾아바꾸기(re) 소스코드 및 예제파일(깃헙) martinii-fun/hwp-automation 파이썬-아래아한글 자동화 튜토리얼 코드모음(유튜브채널 회사원코딩). Contribute to martinii-fun/hwp-automation development by creating an account on GitHub. github.com """ 아래아한글 내에서 "정규식으로 찾기"는 가능하지만 "정규식으로 찾아바꾸기"는 불가능하다. 미묘한 차이 같지만, 이런 경우를 생각해보자. 주민등록번호나 법인등록번호처럼 "여섯자리숫자-일곱자리숫자(예:321012-1234567) 양식을 321012-1****** 처럼 뒤의 여섯자만 *로 마스킹을 하고 싶을 때, 아래아한글의 찾아바꾸기를 이용하려면 조금 번거롭다.. 1. 정규식으로 \.. 2020. 4. 15.
유튜브 4K영상을 무료로 다운받는 가장 신박한 방법 pytube라는 파이썬 모듈이 있다는 사실을 유튜버 반원코딩(https://www.youtube.com/channel/UCI0MH1C8JwvLumquXyDqSHg)님의 오래전 동영상을 통해서 알게 되었다. 해외에서도 오래 전부터 유명했던 라이브러리였던 것 같은데 파이썬 3.5에서만 안정적이라느니, ffmpeg코덱을 별도로 설치해야 한다느니, 업데이트는 pip을 통해서가 아니라 직접 파일을 건드려서 한다느니 여러 가지 문제가 많았던 것 같다. 하지만 지금은 위의 문제가 모두 해결되었다. 3.8에서도 아무 문제 없이 실행되며, 광고가 없다. QTGUI를 통해서 깔끔하게 GUI도 짜여져 있다. 4k(2160p)나 고음질 mp3를 다운받는 것에도 아무 제한이 없더라. 제일 마음에 드는 점은 소스가 공개되어 있다.. 2020. 4. 10.
[파이썬-다빈치리졸브 자동화] 타임라인의 FrameRate 알아내기 오늘부터 차근차근 동영상편집 프로그램 DaVinciResolve16의 파이썬API를 다뤄보려고 한다. 1차 최종 목표는, 1. 네이버가계부나 편한가계부 등에서 다운받은 월별 소비실적 엑셀파일을 가지고 2. 대본을 자동작성하고, 네이버API로 예쁜 음성을 만들어온다. 3. plt나 sns로 동영상에 삽입할 차트를 작성한다. 4. 이것저것 조합하여 1분 정도의 동영상 레포트를 렌더링한 후 메일발송하거나, 혹은 유튜브로 업로드 후 링크발송 적잖은 작업이 되겠지만 하여간에 큰 그림은 이렇다. 오늘 시작해보는 튜토리얼은 현재 열려 있는 다빈치리졸브 프로젝트를 파이참과 연결하고, 타임라인의 FrameRate를 알아오는 과정까지. 한 가지 중요한 점은, 외부에서 스크립트를 실행할 때 다빈치리졸브는 실행이 되어 있어야.. 2020. 4. 6.
0강: 응용프로그램창 백그라운드로 숨기기 """ 안녕하세요? 파이썬으로 엑셀이나 아래한글 등 응용프로그램 자동화를 해보시면, 백그라운드로 숨기고 싶거나, 화면에 나타나게 하고 싶은 경우가 있죠. 셀레늄 크롤링할 때 크롬의 headless옵션처럼요. MS제품군, 엑셀 같은 경우는 excel.Visible 변수(bool)를 False로 정의해서 프로그램화면을 백그라운드로 숨기거나 True로 정의해서 나타나게 할 수 있는데, 아래한글 등 관련 메서드가 따로 없는 프로그램의 경우에는 동영상처럼 해주시면 됩니다. 동영상을 요약하면 win32gui.FindWindow(args)로 응용프로그램의 핸들값(int)을 찾고, win32gui.ShowWindow(args)로 창을 숨기거나 나타나게 합니다. 백그라운드 작업 종료시에는 try-finally 구문 등으.. 2020. 4. 3.
아래아한글 유저 99%는 모르는 기능들 1. 숨겨진 노트 2. 페이지복사(여백서식과 배경이미지까지 한번에) 3. 정규식 찾아바꾸기 4. 메일머지? 메일머지는 몰라도 위 세 개 정도는 왠만한 고인물이 아니면 99퍼센트도 모를 것 같다. 메뉴에 없으니까... 당연히 스크립트매크로와 파이썬 기본문법 정도만 알면 못할 게 없지만, 그렇지 않은 유저를 위한 강의도 회사원코딩에 올려보자. 회사원코딩이 추천하는 오늘자 파이썬 입문교재 3종 1. 모두의 파이썬 X 알고리즘(합본호):누구나 쉽게 배우는 프로그래밍 기초 모두의 파이썬 X 알고리즘(합본호):누구나 쉽게 배우는 프로그래밍 기초 COUPANG www.coupang.com 파이썬으로 프로그래밍에 처음 입문하기엔 아주 재미있고 쉽게 배울 수 있음. 다른언어 사용자가 파이썬을 배우는 교재로는 비추천. 다.. 2020. 4. 3.
파이썬으로 꼭 해보고 싶은 동영상 자동 컷편집 제가 아는 동영상 편집 프로그램 중 파이썬 API를 제공하는 건 다빈치리졸브가 유일합니다. 아쉬운 점은 API매뉴얼이 따로 없어 온갖 레퍼런스나 해외 블로그 탐험을 해야 한다는 것이고, 그나마 다행인 점은 대표적인 튜토리얼 코드가 세 개쯤 있어서(사이트 세 개가 아니라.. 콘텐츠 세 개ㄷㄷㄷ) 구조나, 기본 메서드 스타일은 수월하게 감을 잡을 수가 있다는 것입니다. 거기다 win32 객체와는 달리 파이참에서 메서드 참조를 잘 잡아주니 메서드나 프로퍼티 목록은 갖고 있는 거나 마찬가지죠. 간단하게 만들어서 써먹어보고 싶은 건 일종의 컷편집. 특정 시간 이상 동안 음량이 일정수준 이하인 구간을 잘라내는 코드를 튜토리얼로 먼저 제작해 보고 싶네요ㅎㅎ (...이미 VREW에서 제공하는 기능임??) 이것도 일종의.. 2020. 4. 2.
hwp의 API는 왜 이렇게 복잡할까? 오늘 어떤 구독자 분의 질문메일에 "한/글 문서를 PNG포맷으로 저장할 수 있나요?"라는 질문이 있었다. 이건 사실 간단한 질문인데, hwp에서 제공하는 API 중에 이미지로 저장하는 CreatePageImage라는 메서드가 있기 때문이다. 물론 사용법도 간단하다. 근데 조금만 살펴보면 문제가 있다. 우선, 위의 메서드는 GIF와 BMP포맷만을 제공한다. PNG포맷으로 출력하려면 PrintToImage라는 메서드를 사용해야 하는데 이런 종류의 메서드는 파라미터를 파이썬문법처럼 괄호 안에 넣는 게 아니라 GetDefault로 메서드를 초기화(?)하고 모든 파라미터를 HParameterSet을 통해 별도 입력 후 Execute 메서드로 실행해야 한다. (사실 모든 메서드는 이런 구조다. 단축키 개념의 간편한.. 2020. 4. 1.
"기왕이면 잘 하는 일 계속 하게 해줄 수 없을까?" 올해초에 승진을 하게 되었습니다. (물론 제 능력이나 성과보다 훨씬 크고 많은 여러가지 외부요인이 있었습니다.) 월급도 다소 늘었고, 직급으로 보면 회사 막내가 아니게 되었습니다. 다만, 한 가지 시원섭섭한 점이라면... 제목대로, "기왕이면 잘 하는 일 계속 하게 해줄 수 없을까?" 입니다. 회사 막내 입장에서 일할 때 자동화 코딩을 할 줄 아는 건 정말 치트키 수준의 역량이었던 데 반해 지금은 "굳이 이런 게 필요할까?" 라는 생각이 들 정도로 담당업무 성격이 바뀌어버린 점이 한 편으로는 아쉽기도 합니다. 게임으로 비유하자면... 1945-3를 열심히 하다 보니까 1회차는 공략법을 알고, 나름 원코인 클리어를 할 수 있게 되었는데 2회차를 플레이하려니 1회차와 공격패턴이 확연히 달라서 당황스러운 느낌.. 2020. 4. 1.
selenium으로 크롤링할 때 frame과 object 태그 차이 html 안에 html을 삽입해놓은 웹사이트가 많이 있다. 한 개의 html 안에 수천 수만줄의 태그와 js를 유지관리하기도 힘드니, 어찌 보면 개발자 입장에서 당연할 수 있다. 이 때 삽입하는 방법은 주로 iframe태그를 넣거나, object 태그를 넣는 방법 중 하나로 하는데 각각을 크롤링하는 방법에 작은 차이가 있다. 우선 iframe이 삽입되어 있는 경우는(주로 동영상 플레이어나, 메뉴바, 사이드바와 본문내용이 구분되는 경우에 사용) driver.find_element_~가 아니라 driver.switch_to.frame(프레임name이나 id)로 접근하고, 상위프레임으로 이동해야 할 때 다시 driver.switch_to.parent_frame 이나 driver.switch_to.default.. 2020. 3. 31.