본문 바로가기
Python

[Python] 파이썬 텀블러 tumblr API 자동 포스팅

by 퍼포먼스마케팅코더 2022. 6. 16.
반응형

오늘은 파이썬 텀블러로 API를 발급 후 자동 포스팅까지 진행해보자.

텀블러는 2014년도 이후 최정점을 가졌지만, 그래도 아직까지 북미권에서는 유효한 블로그이다. 

그렇다면 텀블러 API로 파이썬을 어떻게 자동 포스팅할 수 있는지를 알아보자.

 

 

먼저 하기 사이트에 들어가서 텀블러 API 발급부터 진행해야된다. 

 

https://api.tumblr.com/console/calls/user/info

 

API Console | Tumblr

 

api.tumblr.com

 

파이썬 텀블러 tumblr API 발급

하기 사이트에 들어갔다면, 이제 아래 이미지에서 빨간색으로 표시된 부문을 눌러서 새로운 앱을 생성하자.

파이썬 텀블러 tumblr API 자동 포스팅

새로운 앱은 거의 비슷하다. 보통은 앱이름, 앱 웹사이트 등을 필수 작성하고,

주요한 기본 관련 콜백 URL 등은 별도로 주피터 노트북 쪽으로 정해놨다.

 

파이썬 텀블러 tumblr API 자동 포스팅

아래까지 최종 비슷하게 확인됐다면은 이제 등록을 누르면 된다.

파이썬 텀블러 tumblr API 자동 포스팅

 

그럼 하단의 사이트에 들어가서 보면 신규로 등록된 앱의 Oauth 사용자 키, 비밀키 등을 볼 수 있다. 

 

https://www.tumblr.com/oauth/apps 

파이썬 텀블러 tumblr API 자동 포스팅

 

 

마찬가지로 아래는 새로 생성된 앱을 클릭하여 볼 때 마찬가지로 표시된다. 

왼쪽의 사용자 키와 사용자 암호는 반드시 기록해두자.

파이썬 텀블러 tumblr API 자동 포스팅

 

 

파이썬 텀블러 tumblr API 포스팅하기

이제 앱은 생성됐으니, 이제 파이썬 주피터 노트북에서 포스팅을 실행해보자.

먼저 하단의 pytumblr 패키지를 설치해야된다.

!pip install pytumblr

 

파이썬 텀블러 tumblr API 자동 포스팅

 

해당 파이썬 패키지 설치가 완료됐다면, 하단을 참고하고 이제 인증을 받도록 하자. 아래 텀블러 API key 및 secret 키값에 각각 텀블러 API 사용자 키, 사용자 암호키 등을 임력해주고 똑같이 작성하면 새로운 URL이 나올것이다. 그것을 클릭하자.

 

 

import pytumblr
from requests_oauthlib import OAuth1Session

key = '' #키입력
secret =  '' #키입력

request_token_url = 'http://www.tumblr.com/oauth/request_token'
authorization_base_url = 'http://www.tumblr.com/oauth/authorize'
access_token_url = 'http://www.tumblr.com/oauth/access_token'

tumblr = OAuth1Session(key, client_secret=secret, callback_uri='http://www.tumblr.com/dashboard')
tumblr.fetch_request_token(request_token_url)   #oauth_token 정보 및 oauth_token_secret 정보 파악

authorization_url = tumblr.authorization_url(authorization_base_url)

print(authorization_url) #하단 URL 클릭 이후 Allow 클릭

 

 

URL 클릭 하단과 같이 접근 요청 관련된 새로운 창이 나올 것이다. 이때 수락을 누르자.

파이썬 텀블러 tumblr API 자동 포스팅

 

그럼 해당 URL이 바껴서 뭔가 텀블러 주소로 들어갈 것이다. 이때 그 텀블러 주소를 하단의 'oauth_token 코드 입력' 란에 붙여 넣어주면 된다. 그리고 또 실행하자. 

그럼 하단에 최종적으로 텀블러 api  의 oauth_token 과 oauth_token_secret 키를 확인할 수 있다.

파이썬 텀블러 tumblr API 자동 포스팅

 

# Allow 클릭 이후 해당 URL을 하기에 복사
#해당 새로운 URL에 복사 ↓
redirect_response = 'oauth 코드 입력'
tumblr.parse_authorization_response(redirect_response)

tumblr.fetch_access_token(access_token_url)  #oauth_token, oauth_token_secret 확인

 

 

파이썬 텀블러 tumblr 인증

 

이제 아까 받은 사용자 키, 사용자 비밀키와 함께, 인증을 통해 받은 텀블러 API oauth_token과 oauth_token_secret 키를 각각 받고 인증하자. 

 

import pytumblr

#텀블러 인증

consumer_key = '' #사용자키 입력
consumer_secret =  '' #사용자 비밀키 입력

oauth_token = ''  #oauth_token 입력
oauth_token_secret = '' #oauth_token_secret 입력

client = pytumblr.TumblrRestClient(consumer_key=consumer_key, consumer_secret=consumer_secret, oauth_token=oauth_token, oauth_secret=oauth_token_secret)

 

 

파이썬 텀블러 tumblr 최종 포스팅하기

 

이제 하단과 같이 최종 쓸 말을 넣어서 작성하여 포스팅을 하면 된다. 먼저 client.info()를 통해 자신의 블로그 네임을 확인한뒤, blogname 변수에 해당 이름 정보를 넣는다. 그리고 client.create_photo 부분 란에 각각의 태그, 이미지저장, 컨텐츠 내용을 입력하여 최종 작성하면 이미지 업로드와 함꼐 텀블러 API 자동 포스팅이 완료된다.

 

#client.info() # name으로 나오는 블로그네임 정보 확인

blogName ='blogname' # name으로 나오는 블로그네임 정보 입력

client.create_photo(blogName, state = "published", 
                    tags=["testing", "ok", "hello"], #태그  (해시태그)
                    data='image directory', #이미지 저장위치  (이미지업로드)
                    caption="## hello testing today " #캡션  컨텐츠 내용
                   )

 

관련 추가 정보 사이트

https://requests-oauthlib.readthedocs.io/en/latest/examples/tumblr.html
https://github.com/tumblr/pytumblr

반응형

댓글