[블로그 자동포스팅] 썸네일 자동 업로드

2022. 1. 5. 16:56coding

반응형

썸네일을 자동 포스팅 코드에 포함하는 방법을 몰랐는데 알게 되었다 

썸네일 외에 자세한 내용은 아래의 글 참고하기! 

 

https://codlingual.tistory.com/277

 

[블로그 자동포스팅 총정리] API에서 코드 자동 실행까지

이 블로그의 paper-of-the-day 카테고리는 자동 포스팅되고 있다. 아쉽게도 썸네일을 자동으로 설정하는 방법은 없는 거 같아서 썸네일은 수동으로 지정해주었지만! 글은 완전 자동이다. 자동 포스

codlingual.tistory.com

 

그냥 사진 하나 업로드 하니까 자동으로 그게 썸네일로 설정되네 

안 되는줄 알았구만!

 

# 업로드하고 싶은 사진의 path를 입력으로 받음
def upload_png(path):
    access_token = [각 블로그의 access token] 
    blog_name ="codlingual.tistory.com" 
    
    files = {'uploadedfile': open(path, 'rb')}
    params = {'access_token':access_token, 'blogName': blog_name, 'targetUrl':blog_name, 'output':'json'}
    rd = requests.post('https://www.tistory.com/apis/post/attach', params=params, files=files)
    
    try:
        item = json.loads(rd.text)
    except:
        print('failed')
        
    return item['tistory']['replacer']
    
    
 def write_post():
    ...  # 원하는 내용으로 채우기 
    post = '<p>' + upload_png(path) + '</p>' # 사진 업로드 
    ....
    html_file = open('./post.html', 'w+')
    html_file.write(post)
    html_file.close()
    
    
 if __name__ == '__main__':
	...
    write_post()
    f = open('./post.html', 'rt', encoding='utf-8')
    content = f.read()
    ...

 

여기선 사진 업로드와 관련 없는 코드는 생략했다

 

이제 진짜 완전 자동화~

 

근데 사실 약간의 오류가 있었는데 

사진 업로드 하는 코드만 고쳤는데 crontab으로 자동 실행이 안 되기 시작했다.

코드 자체엔 오류 없었으나 사진 경로를 상대 경로로 써 놓으니까 crontab으로 실행이 안 되더라

stackoverflow에 never use relative path!! 라는 말을 보고 수정했더니 바로 잘 작동했다 

절대경로 쓰는 걸 버릇으로 만들어야겠어 

 

이제 진짜 완전 100% 자동포스팅~~!!

반응형