import requests, json from urllib.parse import urljoin from bs4 import BeautifulSoup from datetime import datetime def getContents(url): # HTTP GET 요청으로 페이지 가져오기 response = requests.get(url) # 응답 상태 확인 if response.status_code == 200: # HTML 파싱 soup = BeautifulSoup(response.text, 'html.parser') # HTML 태그를 제거 후 페이지의 모든 텍스트 가져오기 (전체 내용) page_content = soup.get_text() # 빈 줄을 제거하고 텍스트만 출력 (줄바꿈 문자를 기준으로 필터링) lines = [line.strip() for line in page_content.splitlines() if line.strip()] # 결과 출력 contents = "\n".join(lines) return contents else: print(f"Failed to fetch the URL. Status code: {response.status_code}") class WordPress(): def __init__(self, dict): self.wp_url = dict['wp_url'] self.wp_user = dict['wp_user'] self.wp_api_key = dict['wp_api_key'] def create_post(self, category_id, content, media_id = None, status = "draft", title="파이썬 자동 포스팅"): payload = { "status": status, # publish / draft "title": title, "content": content, "date": datetime.now().isoformat(), # YYYY-MM-DDTHH:MM:SS "categories": category_id } if media_id is not None: payload['featured_media'] = media_id return requests.post(urljoin(self.wp_url, "wp-json/wp/v2/posts"), data=json.dumps(payload), headers={'Content-type': "application/json"}, auth=(self.wp_user, self.wp_api_key)) # if result.ok: # print(f"성공 code:{result.status_code}") # else: # print(f"실패 code:{result.status_code} reason:{result.reason} msg:{result.text}") if __name__ == "__main__": # url = 'example_url' # tmp = getContents(url) # print(tmp) pass