ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [wordpress-xmlrpc] 파이썬으로 워드프레스 자동 포스팅 구현해보기
    Python/WebApp 2024. 4. 30. 10:12
    반응형

    파이썬으로 워드프레스 자동 포스팅 구현해보기


    많은 분들이 업무 자동화에 관심을 가지는 이 시기에, 문서 작성까지도 자동화를 구현하려는 분들도 덩달아 늘어나고 있습니다. 이번에는 파이썬으로 워드프레스 설치형 블로그에 자동으로 포스팅할 수 있는 시스템을 구현해 보겠습니다. 워드프레스는 XML-RPC 프로토콜을 지원하고 있는데, 이를 이용하면 인터넷 창을 켜지 않고도 간편하게 포스팅을 할 수 있지요. 파이썬을 이용해서 해당 규격을 만족하는 코드를 작성해 둔다면, 자동으로 포스팅을 할 수 있는 시스템까지도 구현할 수 있습니다.

     

     

    python-wordpress-xmlrpc 포스팅


    파이썬에서는 XML-RPC 규격을 외워두지 않고도 워드프레스 자동 포스팅을 구현할 수 있도록 하는 python-wordpress-xmlrpc 패키지가 배포되고 있습니다. 만약 설치하지 않았다면, pip install python-wordpress-xmlrpc 명령어를 이용해서 설치해 주시기 바랍니다.

     

     

    python-wordpress-xmlrpc를 이용해서 포스팅하는 작업은 크게 두 가지 데이터 묶음이 필요합니다.

     

    • 워드프레스 블로그 URL, ID, 비밀번호로 이루어진 계정 정보 묶음
    • 게시글 제목, 슬러그(식별자), 본문, 태그, 카테고리를 정의한 포스팅 정보 묶음

     

    이 두 가지 데이터 묶음이 준비되었다면, wordpress_xmlrpc.Client 에 계정 정보 묶음을 입력하고, wordpress_xmlrpc.WordPressPost 에 포스팅 정보 묶음을 입력해 주시면 됩니다.

     

     

    # Import Package
    from wordpress_xmlrpc import Client, WordPressPost
    from wordpress_xmlrpc.methods.posts import NewPost
    
    # Account info.
    client = Client('https://your_url.com/xmlrpc.php', 'ID', 'PW')
    postx = WordPressPost()
    
    # Posting
    postx.title = 'TITLE'  # 제목
    postx.slug = 'url_slug'  # https://your_url.com/url_slug
    postx.content = '글 내용을 입력하세요'  # 본문
    postx.terms_names = {
        'post_tag': 'tag1, tag2',  # 태그
        'category' : ['미분류']  # 카테고리
    }
    
    postx.post_status = 'publish'  # publish: 발행, draft: 임시저장
    client.call(NewPost(postx))

     

     

    작성한 포스팅 삭제하기


    python-wordpress-xmlrpc는 기존에 쓴 글을 삭제할 수도 있습니다. 이 때는 슬러그 정보만 입력해 두면 되는데요, 슬러그는 워드프레스 URL에서 슬래시(/) 다음에 오는 식별자를 확인해 두시면 됩니다. 삭제를 위한 기능은 wordpress_xmlrpc.posts.DeletePost 로 구현되어 있습니다.

     

     

    # Import Package
    from wordpress_xmlrpc.methods.posts import DeletePost
    
    # Delete Post
    DeletePost('url_slug')
    반응형

    댓글

문의: jwkang3929@naver.com