반응형
코드 제공!!!!
코드 바로 제공해드립니다.
pycharm에 바로 복붙하면 ok!!!
pycharm이 뭔지 모르세요?? 아래 링크로 ㄱㄱ!!!
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QGridLayout, QFileDialog, QTextEdit, QLabel
import requests
class BlogPublisher(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('티스토리 블로그 글 발행기')
self.resize(600, 400)
grid = QGridLayout()
self.setLayout(grid)
self.blogname_label = QLabel('블로그 이름: ')
grid.addWidget(self.blogname_label, 0, 0)
self.blogname_edit = QTextEdit()
grid.addWidget(self.blogname_edit, 0, 1)
self.token_label = QLabel('Access Token: ')
grid.addWidget(self.token_label, 1, 0)
self.token_edit = QTextEdit()
grid.addWidget(self.token_edit, 1, 1)
self.select_file_button = QPushButton('파일 선택')
self.select_file_button.clicked.connect(self.select_file)
grid.addWidget(self.select_file_button, 2, 0, 1, 2)
self.log_label = QLabel('로그: ')
grid.addWidget(self.log_label, 3, 0)
self.log_edit = QTextEdit()
self.log_edit.setReadOnly(True)
grid.addWidget(self.log_edit, 4, 0, 1, 2)
self.start_button = QPushButton('시작')
self.start_button.clicked.connect(self.publish)
grid.addWidget(self.start_button, 5, 1)
def select_file(self):
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
filenames, _ = QFileDialog.getOpenFileNames(self,"파일 선택", "","Text Files (*.txt)", options=options)
for filename in filenames:
self.log_edit.append(f'{filename} 파일 선택됨')
def publish(self):
blogname = self.blogname_edit.toPlainText()
token = self.token_edit.toPlainText()
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
filenames, _ = QFileDialog.getOpenFileNames(self,"파일 선택", "","Text Files (*.txt)", options=options)
for filename in filenames:
with open(filename, 'r', encoding='utf-8') as f:
title = filename.split('/')[-1].split('.')[0]
content = f.read()
self.log_edit.append(f'{title} 글 발행 중...')
res = self.publish_post(blogname, title, content, token)
if res.status_code == 200:
self.log_edit.append(f'{title} 글이 성공적으로 발행되었습니다.')
else:
self.log_edit.append(f'{title} 글 발행 실패: {res.content.decode("utf-8")}')
def publish_post(self, blogname, title, content, token):
urls = f'https://www.tistory.com/apis/post/write?access_token={token}&output={"output-type"}&blogName={blogname}&title={title}&content={content}&visibility={0}&category={0}&published={"published"}&slogan={"slogan"}&tag={"tag"}&acceptComment={"acceptComment"}&password={"password"}'
res = requests.post(urls)
return res
if __name__ == '__main__':
app = QApplication(sys.argv)
publisher = BlogPublisher()
publisher.show()
sys.exit(app.exec_())
실행시 화면
사용방법
블로그 이름 = 여러분의 블로그 이름
api 등록할때 썼던 블로그 주소입니다!!
XXX.tistory.com 에서 XXX 말하는겁니다!
access token 에는 아까발급했던 토큰을 복붙 하세요!
파일 선택 말고 시작버튼을 바로 눌르십쇼
그다음 블로그에 올릴 자동 생성된 txt 파일들을 드래그 클릭하시고 open을 눌르세요. 그러면
글리 자동으로 올라가집니다.
에러가 나면 댓글 물어보기 글에 가서 물어보세용!!
구글 같은데는 최소한 쳐보고 물어보셔야 겠죠?
반응형
'티스토리 자동 업로드' 카테고리의 다른 글
티스토리 자동 업로더 chapter 2 (0) | 2023.04.12 |
---|---|
티스토리 자동 업로더 chapter 1 (0) | 2023.04.12 |
티스토리 자동 업로드 클래스 (0) | 2023.04.12 |
댓글