파비의 매일매일 공부기록

티스토리 자동 글 생성기 using Python #2 본문

Side Project (완료)/티스토리 자동 글 생성기 (2021)

티스토리 자동 글 생성기 using Python #2

fabichoi 2021. 9. 4. 23:30

어제에 이어서 오늘은 리스트 형태로 데이터를 받아서 한 번에 글 작성을 하도록 소스를 추가한다.

일단 아래의 함수를 추가한다.

def make_posts(titles, content, visibility, category, start_date, tag, init_params):
    li = []
    n = len(titles)

    for i in range(n):
        additional_params = {
            'title': titles[i],
            'content': content,
            'visibility': visibility,
            'category': category,
            'published': time.mktime((start_date + timedelta(days=i)).timetuple()),
            'tag': tag,
        }
        additional_params.update(init_params)
        li.append(additional_params)

    return li

그리고 아래와 같이 메인 함수를 수정하고 호출하면

한 번에 여러 개의 글이 생성 가능하다.

if __name__ == '__main__':
    load_dotenv(verbose=True)
    
    access_token = os.getenv('ACCESS_TOKEN')
    output_type = os.getenv('OUTPUT_TYPE')
    blog_name = os.getenv('BLOG_NAME')

    init_params = {
        'access_token': access_token,
        'output': output_type,
        'blogName': blog_name,
    }

    titles = [
        "예제 글 1",
        "예제 글 2",
        "예제 글 3",
    ]

    content = ''
    category = 1
    visibility = 3
    published = timestamp
    tag = 'tag1,tag2,tag3'

    start_date = datetime.strptime('2021-09-05 23:30:00', '%Y-%m-%d %H:%M:%S')
    params_list = make_posts(titles, content, visibility, category, start_date, tag, init_params)

    for params in params_list:
        requests.post('https://www.tistory.com/apis/post/write', params=params)

예제 글 1, 2, 3이 오늘/내일/모레에 하나씩 예약 발송되도록 등록된다.

 

오늘은 너무 피곤해서 여기까지.

 

원래는 csv 파일을 받아서 python auto_tistory_post.py example.csv 같은 형태로 처리하는 걸 구현하려고 했는데

그건 내일 해야 할 듯싶다 ㅠㅠ

반응형
Comments