본문 바로가기
데이터&AI

API를 활용하여 티스토리 글쓰기!!(feat Python) _3

by 일등박사 2021. 12. 13.

안녕하세요!!

API를 통하여 티스토리 글쓰기 마지막!!! 대용량의 글을 작성하는 방법을 알아보겠습니다!~


1. API 권한 받기 및 Token 생성하기(1회성)

2. API를 통하여 글 작성하기

3. API를 통하여 대용량의 글 작성하기(이번 포스팅)


지금까지의 포스팅을 통하여

1. 권한 받기과 Access Token을 받고

2. Python 의 request.post 방식을 활용하여 글을 써보기

의 두가지 내용을 배워보았습니다!!

 


 

하지만 이 방식의 한가지 단점으로 장문(아마도,, 300자 이상 정도?)의 글은 작성이 되지 않는다는 문제가 있었습니다!!

결과에 아래와 같이 "Request-URI Too Large" 라는 경고문이 뜨는데요!!,,,ㅜㅠㅠ

저는 이 경고문에 API방식을 포기하고 Selenium 방식을 통하여 작성해야하는것인가,, 절망에 빠졌었습니다.

<html>
<head><title>414 Request-URI Too Large</title></head>
<body>
<center><h1>414 Request-URI Too Large</h1></center>
<hr><center>openresty</center>
</body>
</html>

장문의 글을 작성하면 위와 같은 에러가 발생합니다.

 

하지만!! parameter가 아닌, data 보내기 방식을 통하여 결국 가능한 방법을 찾아내었고!!

기쁜 마음으로 작성 방법을 공유하고자 합니다~!!^^

이번에도 깔끔하게 코드부터 보아요!!!

 

import requests

## 네이버의 모든 HTML 긁어오기!!
html_res = requests.get('https://naver.com')
html_res.text


access_token= '나만의 access Token'
title = '제목 입력하기!!' # '티스토리에 API로 글을 써보자!!_'  + datetime.now().strftime("%Y.%m.%d")  # 제목 (필수)
content = html_content.text  # 글내용(필수), 위애서 긁어온 Naver의 화면을 작성해봅시다
visibility = "3"  # 발행상태 0비공개-기본, 1보호, 3발행
category_id = '0' # 카테고리 아이디 기본값 0
slogan = ""  # 문자주소
tag = '티스토리, 대용량, 글자수제한 없음. 자동글쓰기, API, 작성결과'
acceptComment = "1"  # 댓글 허용 (0, 1 - 기본값)
password = ""  # 보호글 비밀번호

url = 'https://www.tistory.com/apis/post/write'
data = { 'access_token':access_token,
         'output':'json',
         'blogName':blog_name,
         'title':title,
         'content':html_res.text,
         'visibility':visibility,
         'category':category_id,
         'slogan':slogan,
         'tag':tag,
         'acceptComment':acceptComment,
         'password':password
         }
r = requests.post(url, data=data)
print(r.text)

 

위의 코드는 대용량 글을 만들기 위하여 Naver의 메인 페이지를 모두 크롤링해온뒤

그대로 포스팅해보는것을 만들었습니다!!

사용하시는 목적에 따라 'content' 에 필요한 내용을 입력해주시면 됩니다~!

 

 

 

결과가 어떻게 나왔는지 한번 보셔야겠죠???

조금 지저분하지만서도, 네이버 메인화면이 블로그에 포스팅되었음을 확인하실 수 있습니다!!^^

(검색 기능까지 작동해버리는 섬세함!!ㅎㅎ)

 

 

이상으로 3단계로 나누어 공부해보았던 "티스토리에 API로 글쓰기" 포스팅을 마치도록 하겠습니다~!

 

감사합니다.

댓글