18년 치 블로그 정리기 (6) — 스팀잇 글쓰기를 파이썬에 맡겼습니다

in #kr11 hours ago

안녕하세요, 가야태자 @talkit 입니다.

블로그 정리기 여섯 번째입니다.

지난 편 끝에 도구가 저에게 거짓말을 했다고 적었습니다. 그 이야기를 하기 전에, 애초에 왜 도구를 만들게 됐는지부터 말씀드리겠습니다.


붙여넣기가 지겨웠습니다

정리를 하다 보니 원고가 쌓였습니다. 스팀잇은 매일 쓰고요.

한 편 올리는 데 매번 이렇습니다.

제목 붙여넣기 → 본문 붙여넣기 → 태그 열 개 → 발행

별것 아닌 것 같은데 매일 하면 다릅니다. 그리고 붙여넣기는 사람이 실수하기 좋은 자리입니다. 태그를 하나 빠뜨리거나, 본문 첫 줄이 잘리거나.

그래서 파이썬으로 만들기로 했습니다. 원고 파일을 읽어서 글쓰기 화면을 채워 주는 프로그램입니다.


그런데 여기서 막혔습니다

방법이 두 가지였습니다.

① API로 직접 올린다 — 블록체인에 바로 씁니다. 화면 구조가 바뀌어도 안 깨지고 코드도 짧습니다. 대신 포스팅 키를 프로그램에 줘야 합니다.

② 웹 화면을 채운다 — 브라우저를 프로그램으로 몰아서 사람처럼 입력합니다. 화면이 바뀌면 깨지지만, 키를 넘길 일이 없습니다.

기술만 보면 ①이 낫습니다. 그런데 ②를 골랐습니다.


키를 넘기고 싶지 않았습니다

여기가 방식을 정한 이유입니다.

포스팅 키는 액티브 키나 오너 키보다는 권한이 약합니다. 그래도 제 이름으로 글을 쓰는 키입니다. 그걸 파일에 적어 두고 프로그램에 맡기는 건 다른 이야기죠.

한번 이렇게 생각해 보시면 됩니다. 그 파일을 실수로 깃에 올리면요. 백업에 딸려 나가면요. 나중에 다른 컴퓨터로 옮길 때 어디에 뒀는지 잊으면요.

안 만들면 그 걱정이 아예 없습니다.

그래서 이렇게 했습니다.

프로그램이 브라우저를 띄운다
   ↓
사람이 직접 로그인한다   ← 여기만 사람
   ↓
그 세션을 프로그램이 이어서 쓴다

키는 제 손을 떠난 적이 없습니다. 세션은 프로그램이 쓰지만, 그 세션을 만든 건 저고요.

세션 정보는 저장소 바깥에 둡니다. 깃에 실수로 올라갈 일이 없게요.


발행 버튼은 안 눌립니다

프로그램은 제목·본문·태그를 채우고 멈춥니다. 발행은 제가 누릅니다.

이건 처음부터 정해 두고 시작했습니다.

스팀잇은 지울 수가 없습니다. 블록체인이니까요. 잘못 올린 글을 내리는 게 아니라 흔적이 남습니다. 되돌릴 수 없는 일을 프로그램에 맡기지 않는다 — 그거 하나였습니다.

그리고 신기하게도, 어디서 멈출지를 먼저 정하니 만들 게 줄었습니다. 발행 확인 처리, 실패 시 되돌리기, 그런 걸 아예 안 만들어도 됐거든요.


제일 귀찮은 건 태그였습니다

열 개씩입니다. 매일요.

사실 이게 만들기로 한 이유의 절반쯤 됩니다. 제목과 본문은 붙여넣기 한 번이면 끝나는데, 태그는 하나씩 치고 엔터를 열 번 눌러야 하니까요.

그런데 그냥 채워 넣게만 하면 안 되는 게, 태그에는 규칙이 있습니다.

kr        반드시 첫 번째
talkit    반드시 포함
devlog    쓰려고 하면 kr-dev 로
최대 10개

첫 태그가 그 글의 분류가 됩니다. kr 이 앞에 없으면 #kr 로 안 올라갑니다. 열 개를 순서 신경 쓰며 치다 보면 이게 밀리기도 하고요.

그래서 채워 넣는 김에 검사도 하게 했습니다. 규칙에 어긋나면 넣기 전에 알려 줍니다.

손이 제일 많이 가는 자리를 줄이면서, 그 자리에서 틀리기 쉬운 것도 같이 막는 것. 전부 자동화하는 것보다 이 편이 낫더군요.


티스토리 쪽은 더 험했습니다

같은 걸 티스토리에도 만들었는데, 거기서 빈 글을 하나 발행했습니다.

화면에는 본문 3,310자가 멀쩡히 보였고, 터미널에도 ✅ 입력 완료 3310자 라고 찍혔습니다. 그런데 발행하고 보니 제목만 있고 내용이 없었습니다.

제 도구가 저에게 거짓말을 한 겁니다. 정확히는, 거짓말할 수밖에 없는 자리에서 재고 있었고요.

그 이야기는 10월부터 일곱 편으로 따로 적겠습니다. 한 편에 담기에는 사고가 너무 많았습니다 ^^;;


마지막 편은 조금 뒤에

이 도구들을 정리해서 공유해 보려고 합니다. 다만 공개가 아니라 프라이빗으로요.

그런데 지금 상태로는 못 드립니다. 제 저장소 구조와 파일명 규칙에 맞춰져 있고, 손볼 데가 꽤 남았거든요. 코드를 정리할 시간이 일주일쯤 필요합니다.

정리가 끝나면 마지막 편으로 찾아뵙겠습니다. 왜 공개가 아니라 프라이빗으로 정했는지도 그때 적겠습니다.

읽어 주셔서 감사합니다.

Sort:  

스팀잇 글쓰기를 파이썬에게 맡기면 많이 편해질 것도 같네요~ ^^

[booming-kr-auto]
보팅 완료했습니다 🙌

  • 여러분이 작성한 댓글: @talkit/4ctdn1
  • 여러분이 보팅한 수치: 30.00% / rshares=212,992,154,892
  • @support-kr이 여러분의 댓글에 드리는 보팅: 총 447,774.59SP 중 11.15%
    IMG_9947.jpeg
  • 여러분의 임대와 보팅이 kr 커뮤니티를 활성화 하는데 큰 힘이 됩니다

다음주 정도까지 기다리시면 ^^
제가 프라이빗으로 공개 해서 사용하실 수 있도록 해드리겠습니다. ^^

저도 자동화 한 번 해보려고 합니다 ㅎㅎ

넵 일주일쯤 뒤가 될지 좀 더 뒤가 될지는 모르겠지만
파이썬 스크립트를 비공개로 드리려고 합니다. ^^