This commit is contained in:
2025-06-02 08:42:19 +00:00
parent 1ad58eaa81
commit 7a823377f4
2 changed files with 82 additions and 0 deletions

79
dev.py Normal file
View File

@ -0,0 +1,79 @@
import requests
from bs4 import BeautifulSoup
from markdownify import markdownify as md
from package import GetConfig, MariaDB, ChangeTextToPost, WordPress
import markdown
# 현재 DB연동 기능은 없음. 실행시키면 URL을 넣어야동작합니다.
def get_naver_blog_content_as_markdown(url):
# 네이버 블로그의 모바일 버전으로 리다이렉트
mobile_url = url.replace("blog.naver.com", "m.blog.naver.com")
# 웹브라우저 위장 --------------------------------------------------
# 제외 하여도 이상 없이 동작하여 제외.
# headers = {
# "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
# }
# response = requests.get(mobile_url, headers=headers)
# ---------------------------------------------------------------
response = requests.get(mobile_url)
if response.status_code != 200:
print(f"Failed to fetch the page: {response.status_code}")
return None
# BeautifulSoup으로 HTML 파싱
soup = BeautifulSoup(response.text, 'html.parser')
# 본문 추출 (모바일 버전의 본문 클래스 사용)
content = soup.find("div", class_="se-main-container")
if content:
html_content = str(content)
markdown_content = md(html_content) # HTML → Markdown 변환
# 빈 줄 제거
markdown_content = "\n".join([line for line in markdown_content.splitlines() if line.strip()])
return markdown_content
else:
print("Failed to extract the blog content.")
return None
# 2024-10-03 환경 변수 호출
print('### Get values From .env')
config = GetConfig()
dict_data = config.get_config_as_dict()
# 예제 URL
url = input("Enter your blog address : ")
# markdown_content = get_naver_blog_content_as_markdown(url)
post_article = get_naver_blog_content_as_markdown(url)
post_article = post_article.replace(">", "###")
# if markdown_content:
# print("Markdown Content:")
# print(markdown_content)
# Markdown 파일로 저장
# with open("blog_content.md", "w", encoding="utf-8") as file:
# file.write(markdown_content)
# print("Blog content saved as blog_content.md")
# print('### Convert to HTML - markdown to html')
# # 2024-10-03 Markdown을 HTML로 변환
# html = markdown.markdown(post_article)
# # 2024-10-03 워드프레스 포스팅 임시등록
# print('### Create post')
# wp = WordPress(dict_data)
# rs = wp.create_post(2,html)
# if __name__ == "__main__":
# # print(post_article)
# print("추가 확인을 위한 출력")
# if rs.ok:
# print(f"### 성공 code:{rs.status_code}")
# else:
# print(f"### 실패 code:{rs.status_code} reason:{rs.reason} msg:{rs.text}")

View File

@ -3,6 +3,7 @@ from bs4 import BeautifulSoup
from markdownify import markdownify as md from markdownify import markdownify as md
from package import GetConfig, MariaDB, ChangeTextToPost, WordPress from package import GetConfig, MariaDB, ChangeTextToPost, WordPress
import markdown import markdown
import re
# 현재 DB연동 기능은 없음. 실행시키면 URL을 넣어야동작합니다. # 현재 DB연동 기능은 없음. 실행시키면 URL을 넣어야동작합니다.
def get_naver_blog_content_as_markdown(url): def get_naver_blog_content_as_markdown(url):
@ -52,6 +53,8 @@ dict_data = config.get_config_as_dict()
url = input("Enter your blog address : ") url = input("Enter your blog address : ")
# markdown_content = get_naver_blog_content_as_markdown(url) # markdown_content = get_naver_blog_content_as_markdown(url)
post_article = get_naver_blog_content_as_markdown(url) post_article = get_naver_blog_content_as_markdown(url)
post_article = post_article.replace(">", "###")
post_article = re.sub(r"^\[!\[\].*?\]", "#### 이미지", post_article, flags=re.MULTILINE)
# if markdown_content: # if markdown_content:
# print("Markdown Content:") # print("Markdown Content:")
# print(markdown_content) # print(markdown_content)