본문 바로가기
전자책 만들기

파파고(Papago) API 무료 번역, 티스토리 자동 게시하기

by 디마드 2023. 1. 28.

재능마켓에 블로그 자동화에 대한 전자책을 판매하면서 여러 가지 질문을 받습니다. 고객의 니즈를 파악하고 문제점을 개선할 수 있는 시간입니다. 최근 파파고 자동 번역해 티스토리에 자동 게시할 수 있는지 문의가 왔습니다.  

외국에 있는 자료를 파파고 등을 통해서 번역을 하여 티스토리 포스팅 자동화 프로그램을
만들어보고 싶은데 해당 전자책을 통해서도 배울 수 있을까요?

 

크몽 문의 사항

파파고 api를 이용해 자동 번역하고 그 결과물을 다시 티스토리 api를 통해
자동 게시가되게 할 수 있습니다. 충분히 가능하고요.


다만, 제 전자책에서 파파고 api는 직접다루지는 않고 응용방안 중 하나로 설명하고
있습니다. 제 생각에 본 과정을 마치 시면 충분히 하실 수 있을거라 생각됩니다.
api이용방법을 배우기때문입니다.

전자책에 자동화 응용방안으로 포함해 두었는데, 이번에 같은 아이디어를 가지고 있는 분들이 많을 것 같다는 생각이 들었습니다. 그래서 실제 코드 레벨 구현을 해보도록 하겠습니다.

전자책에 소개된 번역 후 자동 포스팅 방안

 

블로그 포스팅 자동화로 방문자 10배 늘린 실전노하우 | 29000원부터 시작 가능한 총 평점 5점의 전

19개 총 작업 개수 완료한 총 평점 5점인 디마드의 전자책, 직무스킬 전자책 서비스를 8개의 리뷰와 함께 확인해 보세요. 전자책, 직무스킬 전자책 제공 등 29000원부터 시작 가능한 서비스

kmong.com

 

파파고 번역 후 티스토리 자동 게시하기

1. 네이버 개발자 사이트에서 오픈 API사용 신청하기 (파파고 번역 포함)

2. API 사용 승인을 받으면 Client ID, Client Secret 정보가 생성됩니다. 파파고 번역 API호출 시 필요합니다. 이용량 제한도 있으니 노출되지 않도록 잘 관리해야 합니다. Papago 번역으로 한 번에 번역할 수 있는 분량은 최대 5,000자이며, 하루 번역 처리 한도는 10,000자로 제한이 있습니다. 무분별한 사용을 막기 위한 조치 같습니다. 

Papago 번역 API 사용량

3. 파파고 번역 후 자동 포스팅 코드 작성하기

핵심적인 부분이죠. 파파고 번역 기능을 손쉽게 사용하기 위해서 소스를 크게 2개로 분리했습니다. 하나는 파파고 번역 API를 정의하고 나머지는 티스토리에 포스팅을 올리는 소스입니다. 포스팅 올리기 전에 파파고 번역 API를 호출해 변환하고 등록하게 할 겁니다. 

(1) 파파고 번역 API 기능 정의하기

import os
import sys
import requests
import papagoID

client_id = papagoID.client_id           # 네이버에서 발급받은 client id
client_secret = papagoID.client_secret   # 네이버에서 발급받은 client_secret
# 파파고 API 번역
def translate(text, src="ko", tgt="en"):
    # data = encText
    url = "https://openapi.naver.com/v1/papago/n2mt"    
    #요청 헤더
    req_header = {"X-Naver-Client-Id":client_id, "X-Naver-Client-Secret":client_secret}
    #요청 파라메터
    req_param = {"source":src, "target":tgt, "text":text}
    #번역 요청
    res = requests.post(url, headers=req_header, data=req_param)
    #결과 출력
    trans_txt = ""
    if res.status_code == 200 :
        trans_txt = res.json()['message']['result']['translatedText']
    else:
        print("error code", res.status_code)
    return trans_txt

(2) 티스토리 자동 포스팅 소스 (파파고 번역 API 호출)

 

import requests
from bs4 import BeautifulSoup
import datetime as dt
import sys
import tistoryAPI
import blogInfo
import papagoAPI
import papagoID

# 프로그램 시작하는 지점 - MAIN
if __name__ == "__main__":
    # 현재 날짜 가져오기
    x = dt.datetime.now()
    today = str(x.year) + '-' + str(x.month) + '-' + str(x.day)
    # 추천도서를 가져올 웹사이트 URL 정보
    url = 'http://www.yes24.com/24/Category/Display/001005033043'
    t_title = "당신을 위한 오늘의 추천 도서 (" + today +")"
    t_title = papagoAPI.translate(t_title) 
        
    # url 정보 수집하기
    response = requests.get(url)
    
    # status_code가 200이면 정상
    if response.status_code == 200:
        html = response.text
        soup = BeautifulSoup(html, 'html5lib')        
    else : 
        print(response.status_code)
        sys.exit(0)
    
    # 제목          
    bookTitles = soup.select('#category_layout > ul > li:nth-child(1) > div > div.goods_info > div.goods_name')
    bookTitle = papagoAPI.translate(bookTitles[0].text) + "(" + bookTitles[0].text +")"
    # 저자
    auths = soup.select('#category_layout > ul > li:nth-child(1) > div > div.goods_info > div.goods_pubGrp > span.goods_auth')
    auth = papagoAPI.translate(auths[0].text) + "(" + auths[0].text +")"
    # 가격/
    prices = soup.select('#category_layout > ul > li:nth-child(1) > div > div.goods_info > div.goods_price')
    price = papagoAPI.translate(prices[0].text)
    # 요약
    summarys = soup.select('#category_layout > ul > li:nth-child(1) > div > div.goods_info > div.goods_read')
    summary = papagoAPI.translate(summarys[0].text)
    # 이미지                      
    bookImgs = soup.select('#category_layout > ul > li:nth-child(1) > div > p > span > span > a > img')
    bookImg = bookImgs[0].attrs['src']   
    
    intro_title = '오늘(' +today+ ') 당신을 위한 YES24 추천도서입니다.'
    intro_title = papagoAPI.translate(intro_title)
    
     # 출력 포맷     
    content =  '<h3 data-ke-size="size23"><i>' + intro_title + '</i><b></b></h3>'
    content += '<h3 data-ke-size="size23"><b>'+ bookTitle + '</b></h3>'
    content += '<ul style="list-style-type: disc;" data-ke-list-type="disc">'        
    content += '<li>' + auth + '</li>'
    content += '<li>' + price + '</li>'
    content += '<li>' + summary + '</li>'
    content += '</ul>'
    content += '<figure data-ke-type="emoticon" data-ke-align="alignCenter" data-emoticon-isanimation="false">' \
     '<img src="' + bookImg +'" width="300" alt="' + bookTitle + '"/></figure>'        
    content += '<P> </P>'        
    
    #티스토리 태그정보 입력            
    tagName = "BestSeller,PassiveIncome,AutoMation"
    visiblityCd = "0"    # 발행상태 (0: 비공개 - 기본값, 1: 보호, 3: 발행)
    publishedDt = None   # 발행시간 (TIMESTAMP 이며 미래의 시간을 넣을 경우 예약. 기본값: 현재시간)    
    # 티스토리 API 이용하여 포스트 등록
    
    try :
        tistoryAPI.postWrite(blogInfo.access_token, blog_name=blogInfo.blogName, title=t_title, content=content, visibility=visiblityCd, category_id=blogInfo.categoryId, 
              published=publishedDt, slogan=None, tag=tagName, acceptComment=None, password=None, output_type="json")
        print("글 등록 완료")
    except Exception as e: 
        print('예외가 발생했습니다.', e)

3. 실행 결과 확인하기

파파고 번역 후 티스토리 자동 게시하기

 

개인적인 생각

최근 chatGPT 등장에 세상이 떠들썩합니다. 자동화 흐름은 거스럴 수 없는 대세임이 틀림없습니다. 인공지능 서비스를 사이트에서 채팅을 통해 이용할 수 있지만, API를 호출한다면 굳이 사람이 직접 시간을 투입할 필요가 없습니다. 프로그램을 통해 매일 수행해야 할 일들을 자동화하면 효율이 극대화될 것입니다. 

저의 전자책 "블로그 포스팅 자동화로 방문자 10배 늘린 실전노하우"에도 자동화 기술과 응용방안을 다루고 있으니 필요하신 분들은 참고 부탁 드립니다. 

 

블로그 포스팅 자동화로 방문자 10배 늘린 실전노하우 | 29000원부터 시작 가능한 총 평점 5점의 전

19개 총 작업 개수 완료한 총 평점 5점인 디마드의 전자책, 직무스킬 전자책 서비스를 8개의 리뷰와 함께 확인해 보세요. 전자책, 직무스킬 전자책 제공 등 29000원부터 시작 가능한 서비스

kmong.com

거인의 어깨에 올라서서 더 넓은 세상을 바라보라 - 아이작 뉴턴

구글 학술 검색 페이제에 마침 이런 명언이 올라와 있더군요. 성공하려면, 잠자는 시간에도 돈이 들어오는 패시브인컴을 만드는 핵심은 시스템을 만드는 것입니다. 즉, 웹 데이터 수집에 하루 4시간을 사용하고 있다면 당장 웹 크롤링을 배워서 자동화시켜야 합니다. 투입시간이 0이 됩니다. 시간은 곧 돈이죠. 경제적 자유로 향해 가는 길이라고 생각합니다. 

 

 


블로그 1일 1포스팅 지겨우셨죠? 자동 포스팅 방법 알려 드릴게요. 누구나 쉽게 만들 수 있어요.

▶ 전자책

크몽 : https://kmong.com/self-marketing/424811/T2S6YUqqKb

클래스101 : https://class101.page.link/MH63

탈잉 : https://taling.me/Talent/Detail/49335

▶ 블로그 소개 https://iamgus.tistory.com/ https://socialreview.tistory.com/

매일 2시간씩 한 달이면 60시간, 최저시급 대략 1만 원으로 계산하면 매달 60만 원어치의 시간이 들어갑니다. 자동 포스팅 시스템을 한 번만 구축하면 이 모든 시간이 세이브됩니다.

부자 되세요!

반응형

댓글