이제 파이썬으로 게시글을 올릴 수 있었으니, 이제 게시글 내용을 결정할 차례다.
그리고 테스트하기 앞서, 공개로 바로 올리게 되면 하루 작성 수 를 초과할 수 있으니, 비공개로 작성하길 바란다.
data = {
"id": "0",
"title": "자동 작성 게시글!"
"content": "<h1>큰제목</h1>\n<p>테스트 본문</p>\n<pre><code class=\"language-py\">소스코드 </code></pre>\n",
"slogan": "dd",
"visibility": 0, // 20으로 할 시 공개, 0으로 하면 비공개
"category": 1157903,
"tag": "태그",
"published": 1,
"password": "",
"uselessMarginForEntry": 1,
"daumLike": "401",
"cclCommercial": 0,
"cclDerive": 0,
"thumbnail": None,
"type": "post",
"attachments": [],
"recaptchaValue": "",
"draftSequence": None
}
주석에 적혀 있듯 visibility를 20으로 하면 공개이고, 0으로 하면 비공개이다.
다행히 비공개는 제한이 없는 듯 하니 여기서 테스트 하면 된다.
카테고리의 경우에는 우선 자신의 블로그의 카테고리 id를 딕셔너리로 만들어서 관리하는 게 좋긴 한데.. 나는 뭐 어차피 한 카테고리에 대해서만 작성할 거기 때문에 굳이 그러진 않겠다. 돈 주고 파는 거면 몰라도.. 사실 난 프로그래밍을 모르는 모두가 이런 자동화를 할 수 있었으면 좋겠다. 모두가 대충 한 3일 배우고 만들 줄 알면 이 별것도 아닌 기능을 살려고 사람들이 돈을 내거나 그러지 않겠지..
암튼 뭐 대충 코딩 모르는 사람이 봐도, title에는 블로그 제목이고, conent에는 블로그 본문이라는 것을 알 수 있다.
우리가 필요한 건 저 conent이다. 썸네일도 있고, 태그도 있고 하지만 결국 블로그의 핵심은 내용이니까.
GPT를 통해서 저 내용을 적절히 생성 해 줄 수 만 있다면 주제를 하나 정해서 꾸준히 GPT가 게시글을 써줄 수 있을 것이다.
저걸 하기 위해선 GPT에게 가젯을 줘야 한다.
가젯이 뭐냐면 그냥 방금 내가 생각해 낸 방법인데. 티스토리에서 작성 가능한 모든 형태를 일단 한 게시글에 만들고 패킷을 잡은 후, conent의 내용을 전부 GPT에게 넣으면 그 하나의 형태가 하나의 가젯이 되어 블록처럼 끼워 쓸 수 있게 된다는 것이다.
<h1> 큰제목 </h1>
이라는 것을 보면 h1이 큰 제목이라는 것을 알 수 있다. 하지만
<pre><code class=\"language-py\"> 소스코드 </code></pre>
이건 아마도 어떠한 내부적인 로직에 의해 생겨난 문자열 일 것이다. 난 여기에 소스코드를 넣고 싶은 거고..
그럼 GPT한테 시작부터 저 HTML을 맞춰서 달라고 하면 한결 편할 것이다.
이런 식으로 내가 블로그의 본문에 사용할 큰 제목, 리스트 이미지 등을 적어놓고 패킷을 보낸 다음, 응답으로 오는 형태를 바탕으로 GPT에게 프롬프트를 내려줄 것이다.
이런 식으로 써주고 한번 테스트를 해보자.
내가 파일 시스템에 대해서 블로그를 쓴다고 하면, 이렇게 티스토리 양식에 맞게 conent 부분을 출력해 준다. 난 이제 이 부분을 그대로 가져와서 해당 변수에 넣어주면 된다.
그럼 이렇게 파일 시스템 주제로 게시글이 작성된다.
그런데 이런 정보성 글은 아무래도 다른 블로그에도 많고, 그냥 당연한 소리를 쓰는 거다 보니 본문의 퀄리티는 GPT 프롬프트를 얼마나 잘 쓰느냐에 따라 결정될 것 같다.
그럼 저 웹 사이트에서 만든 GPT 답변을 어떻게 파이썬 코드로 옮길지가 관건이다.
다행히 GPT는 API를 제공하는 걸로 알아서, 그걸 이용해서 해볼까 한다.
참고로 사용한 프롬프트는 다음과 같다. 좀 더 자신의 블로그에 맞게 수정할 사람은 가져가서 바꿔보면 좋을 듯하다.
출력은 반드시 "HTML 본문" 만 출력한다. HTML은 다음의 가젯을 따른다. <h2 style=\"color: #000000;\" data-ke-size=\"size26\">제목</h2>\n<h3 style=\"color: #000000;\" data-ke-size=\"size23\">작은 제목</h3>\n<h4 style=\"color: #000000;\" data-ke-size=\"size20\">더 작은 제목</h4>\n<p data-ke-size=\"size18\">본문1</p>\n<p data-ke-size=\"size16\">본문2</p>\n<p data-ke-size=\"size14\">본문3</p>\n<table style=\"border-collapse: collapse; width: 100%; height: 51px;\" border=\"1\" data-ke-align=\"alignLeft\">\n<tbody>\n<tr style=\"height: 17px;\">\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n</tr>\n<tr style=\"height: 17px;\">\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n</tr>\n<tr style=\"height: 17px;\">\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n<td style=\"width: 16.6667%; height: 17px;\"> </td>\n</tr>\n</tbody>\n</table>\n<p data-ke-size=\"size16\"> </p>\n<blockquote data-ke-style=\"style2\">인용</blockquote>\n<pre id=\"code_1725145189803\" class=\"python\" data-ke-language=\"python\" data-ke-type=\"codeblock\"><code>소스코드</code></pre>\n<p data-ke-size=\"size16\"> </p>\n<hr contenteditable=\"false\" data-ke-type=\"horizontalRule\" data-ke-style=\"style5\" />\n<ul style=\"list-style-type: disc;\" data-ke-list-type=\"disc\">\n<li>리스트1</li>\n<li>리스트2</li>\n<li>리스트3</li>\n</ul>\n<p></p>\n<p data-ke-size=\"size16\"> </p>", 블로그 내용을 정리하고 출력할 때는 반드시 위의 요소를 사용해서 출력해야 한다. 주제를 입력받으면 해당 주제에 대한 블로그 본문을 위의 가젯을 통해 생성한다. |
'programming > python' 카테고리의 다른 글
[python] 티스토리 글 자동 작성 하는 방법 1 - 초기 설정 (5) | 2024.09.01 |
---|