diff --git a/.gitignore b/.gitignore index 5d381cc..307d311 100644 --- a/.gitignore +++ b/.gitignore @@ -122,6 +122,8 @@ celerybeat.pid # Environments .env +.env.dev +.env.prd .venv env/ venv/ diff --git a/README.md b/README.md index e6ef527..621e0da 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,26 @@ # wp-post-automation +워드프레스 포스팅 자동화 프로젝트. +make.com을 이용해서 만든 AutoMation Flow를 Python을 이용하여 변환. +## 기존 Flow +* MariaDB에 저장된 최신 참고 url정보를 얻어온다. +* HTTP모듈을 이용하여 참고 자료를 가져온다. +* 가져온 HTML형태의 자료를 Text만 추출한다. +* OpenAI를 이용하여 블로그 형태로 변환한다. +* OpenAI를 이용하여 블로그 제목을 생성한다. +* OpenAI를 이용하여 제목을 참고하여 섬네일을 생성한다. +* 생성된 자료들을 이용하여 HTML형식으로 변환한다. +* WordPress에 이미지를 등록한다. +* WordPress에 포스팅을 한다. +## 개발 계획 +* 기존 Flow를 Python으로 개발한다. +* 트리거가 발생하면 실행시키는 컨테이너로 빌드한다. +* kubectl create -f file.yaml을 이용하여 1회성 동작 하도록 구현한다. + +### Python 개발 순서 +* DB에서 url을 가져오는 코드작성. +* url을 이용해서 파싱하고 텍스트만 추출하는 기능 구현. +* OpenAI이용 코드 작성. +* HTML문서 변환 코드 작성. +* 워드프레스 등록 플로우 코드 작성. +* 코드 리팩토링. \ No newline at end of file diff --git a/get_url.py b/get_url.py new file mode 100644 index 0000000..cbee189 --- /dev/null +++ b/get_url.py @@ -0,0 +1,45 @@ +import mysql.connector +from dotenv import load_dotenv +import os + +# .env.demo 파일 로드 +load_dotenv(r'./.env.dev') +# 환경 변수 가져오기 +host = os.getenv('DB_HOST') +user = os.getenv('DB_USER') +password = os.getenv('DB_PASSWORD') +database = os.getenv('DB_NAME') +# MariaDB에 연결하는 함수 +def fetch_data_from_mariadb(): + try: + # 데이터베이스 연결 + connection = mysql.connector.connect( + host=host, + user=user, + password=password, + database=database + ) + + # 커서 생성 + cursor = connection.cursor(dictionary=True) + + # 쿼리 실행 + query = "SELECT * FROM healty_url_source ORDER BY idx DESC LIMIT 1;" + cursor.execute(query) + + # 결과 가져오기 + result = cursor.fetchone() + return result + + except mysql.connector.Error as err: + print(f"Error: {err}") + finally: + if connection.is_connected(): + cursor.close() + connection.close() + +if __name__ == "__main__": + # 결과 확인 + data = fetch_data_from_mariadb() + print(data['url']) + diff --git a/translate_article.py b/translate_article.py new file mode 100644 index 0000000..e69de29