test
This commit is contained in:
parent
06c050a73e
commit
a8311edc14
2
.gitignore
vendored
2
.gitignore
vendored
@ -122,6 +122,8 @@ celerybeat.pid
|
|||||||
|
|
||||||
# Environments
|
# Environments
|
||||||
.env
|
.env
|
||||||
|
.env.dev
|
||||||
|
.env.prd
|
||||||
.venv
|
.venv
|
||||||
env/
|
env/
|
||||||
venv/
|
venv/
|
||||||
|
24
README.md
24
README.md
@ -1,2 +1,26 @@
|
|||||||
# wp-post-automation
|
# 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문서 변환 코드 작성.
|
||||||
|
* 워드프레스 등록 플로우 코드 작성.
|
||||||
|
* 코드 리팩토링.
|
45
get_url.py
Normal file
45
get_url.py
Normal file
@ -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'])
|
||||||
|
|
0
translate_article.py
Normal file
0
translate_article.py
Normal file
Loading…
Reference in New Issue
Block a user