파이썬으로 워드프레스 포스팅을 할 수 있는 라이브러리 – python wordpress xmlrpc

파이썬은 참 다재다능한 프로그래밍 언어임에 분명한 것 같습니다. 워드프레스 포스팅을 파이썬으로 진행할 수 있는 라이브러리가 있습니다. python wordpress xmlrpc입니다.

글을 쓴다는 것은 쉬운 일은 아닐 것입니다. 다양한 주제에서 자신이 원하는 주제를 선정하고 자료를 조사하게 됩니다.

무엇보다 방문자가 해당 포스팅을 읽었을 때, 만족감을 얻을 수 있는 글이어야 합니다. 최고의 글은 방문자로 하여금 공감대를 형성할 수 있는 글일 것입니다.

이런 글을 쓰기 위해서는 다양한 요소에 신경을 써야 합니다. 기본적으로 글의 내용, 글의 구조, 표현의 방법이 있을 수 있습니다.

다음으로는 글을 쓰기 위한 도구에 대한 이해도 입니다. 어떤 플랫폼을 이용하든 그에 맞는 도구가 존재합니다.

어떤 것은 html을 이용해야만 할 수 있습니다. 워드프레스의 경우 기본적으로 편집기를 제공합니다. 하지만, 제공된 편집기에서 원하는 기능을 찾지 못한다면 의미가 없을 것입니다.

멋진 디자인을 위한 도구의 능숙도는 필수입니다. 또한, 도구에 익숙해지면 글을 쓰는 시간이 단축되고, 내용에 더 집중할 수 있습니다.

이런저런 이유로 도구에 대한 중요성은 강조될 수 밖에 없습니다. 다만, 이것은 편집의 상황에서 입니다. 만약, 우리가 완성된 글을 마련하고 게시할 수 있다면 이야기는 달라질 수 있습니다.

python wordpress xmlrpc는 어떤 기능을 가지고 있나.

파이썬의 다재다능한 모습을 보여줄 수 있는 대표적인 방법은 바로, 다양한 라이브러리와 프레임워크에 있다는 생각을 해 봅니다.

불가능하지 않을까 생각했던 다양한 기능들이 이미 구현되어 사용될 수 있는 모습이 매력적이기도 합니다. 워드프레스와 파이썬 또한 지금 언급하는 라이브러리를 통해 소통이 가능합니다.

워드프레스는 사이트를 관리하고, 포스팅을 작성하는데 도움을 줄 수 있는 프로그램입니다.

사이트를 관리하는 것에는 다양한 요소가 있습니다. 디자인, 댓글, 링크 등의 설정에 관련된 부분입니다.

포스팅을 작성하는데는 ‘편집기’라는 툴의 도움을 받게 됩니다. 편집기는 원고를 꾸며주거나, 글을 발행 및 수정하는데 이용되게 됩니다.

python wordpress xmlrpc의 주요 기능은 완성된 원고를 해당 사이트에서 발행될 수 있도록 도와주는 라이브러리입니다. 다시 말해, html구조로 이루어진 파일을 전송해 사이트에 게시할 수 있도록 합니다.

그 외에도 썸네일 등록, 사진파일 업로드, 게시글 조회등의 기능을 활용할 수 있습니다. 보다 자세한 내용은 공식 문서를 참고하시면 도움이 될 것입니다.

👉 python wordpress xmlrpc 공식문서


파이썬을 이용한 워드프레스 포스팅, python wordpress xmlrpc 어렵지 않을까.

만약, 여러분이 파이썬에 익숙하다면 크게 어렵지 않을 것입니다. 주요 기능에 대한 이해만 한다면 누구나 쉽게 접근할 수 있습니다.

여기서는 포스팅을 발행(publish)하는 기능에 초점을 맞춰서 이야기를 나누겠습니다.

기본적인 원리는 이렇습니다. xmlrpc라는 기능을 이용하게 됩니다. 해당 기능은 워드프레스에 내장되어 있는 외부 접속 기능이라고 생각하면 될 것 같습니다.

다만, 이 xmlrpc라는 기능은 보안에 취약할 수 있다는 언급도 있습니다. 해당 기능을 이용해 해커들의 공격이 있을 수 있기 때문입니다.

해당 보안 문제에 대한 대비로 보안 플러그인복잡한 비밀번호를 설정하실 것을 추천합니다. 애써 만들어둔 사이트를 타인의 손에 의해 조작되는 모습은 가슴 아픈 일이 될 수 있으니 말이죠.

이런 xmlrpc를 이용해 외부에서 해당 워드프레스 사이트에 접속하여 파일전송, 게시글 발행의 기능을 활용하면 되기 때문에 간단하게 활용할 수 있습니다.


python wordpress xmlrpc 기본 사용 방법.

파이썬의 라이브러리는 기본적으로 다양한 클래스와 함수로 이루어져 있습니다. 이를 외부에서 보면 해당 모듈의 기능이라 생각할 수 있습니다.

이런 기능의 세세한 부분은 위에서 언급한 공식문서를 참고하시면 정확한 도움을 받을 수 있을 것입니다. 여기서는 가장 기본이 되는 ‘게시글 발행’에 관련된 부분의 기초를 언급합니다.

1️⃣ 우선, 라이브러리를 설치합니다.

파이썬은 pip을 이용해 라이브러리 및 프레임워크를 설치할 수 있습니다. 로컬 환경에 파일을 가져와야 사용할 수 있으니 말이죠.

pip install python-wordpress-xmlrpc

터미널을 이용해 위 명령어를 입력하면 해당 라이브러리르 설치할 수 있습니다. 설치한 후 import를 활용해 코딩을 진행하면 원하는 기능을 구현할 수 있습니다.

2️⃣ 발행을 위해 필요한 것, 사이트 사용자 ID/PASSWORD.

원고 작성은 html, css, javascript를 활용해 만들 수 있습니다. 해당 부분은 별도로 이야기를 나누도록 하겠습니다.

게시하고자 하는 파일 혹은 문자열이 완성되었다면 변수로 담아 두면 코드를 짤 때 편리하게 활용할 수 있습니다.

이제 파이썬과 사이트를 연결해야 합니다. 여기서 필요한 것이 인증인데, 이 부분은 사이트에 등록된 사용자 ID/PASSWORD를 이용하게 됩니다.

따라서, password는 보안 상 가장 중요한 부분을 차지한다고 할 수 있으며, 인터넷 통신을 이용하기에 중간에 공격이 있을 수 있습니다. 기억하기 쉽고, 가장 복잡할 수 있는 것으로 설정하실 것을 권장합니다.

# 기본 게시글 정보 받아오는 코드 예시

from wordpress_xmlrpc import Client
from wordpress_xmlrpc.methods import posts

client = Client(...)
posts = client.call(posts.GetPosts())
# posts == [WordPressPost, WordPressPost, ...]
# 작성한 원고를 사이트에 발행하는 코드 예시

from wordpress_xmlrpc import WordPressPost

post = WordPressPost()
post.title = 'My post'
post.content = 'This is a wonderful blog post about XML-RPC.'
post.id = client.call(posts.NewPost(post))

# whoops, I forgot to publish it!
post.post_status = 'publish'
client.call(posts.EditPost(post.id, post))

위에서 언급한 코드들은 공식문서에서 예시로 활용되는 코드입니다. 첫번째는 게시글의 정보를 조회하는 코드입니다.

두번째 코드는 준비된 원고를 연결된 사이트에 발행할 수 있는 코드의 예시입니다. 상당히 간단하고 짧은 코드로 기능을 활용할 수 있다는 것을 알 수 있습니다.

3️⃣ python wordpress xmlrpc를 이용해 사이트 연결의 핵심부분.

위에서는 기능에 대한 부분을 짧은 코드로 보여주고 있습니다. 해당 기능을 활용하기 위해서는 사이트와의 인증을 거쳐야 합니다. 즉, 사이트에 ID/PASSWORD정보를 확인해야 합니다.

해당 부분은 Client 매소드로 정의되어 있습니다. 공식 문서의 Quick Start에 예시가 소개되어 있습니다. 간략하게 살펴보겠습니다.

>>> from wordpress_xmlrpc import Client, WordPressPost
>>> from wordpress_xmlrpc.methods.posts import GetPosts, NewPost
>>> from wordpress_xmlrpc.methods.users import GetUserInfo

>>> wp = Client('http://mysite.wordpress.com/xmlrpc.php', 'username', 'password')
>>> wp.call(GetPosts())
[<WordPressPost: hello-world (id=1)>]

>>> wp.call(GetUserInfo())
<WordPressUser: max>

>>> post = WordPressPost()
>>> post.title = 'My new title'
>>> post.content = 'This is the body of my new post.'
>>> post.terms_names = {
>>>   'post_tag': ['test', 'firstpost'],
>>>   'category': ['Introductions', 'Tests']
>>> }
>>> wp.call(NewPost(post))
5

위 코드는 공식문서에서 소개되고 있는 quick start 문서의 예시입니다. 자세히 들여다보면 wp = Client(…)부분이 있습니다.

>>> wp = Client('http://mysite.wordpress.com/xmlrpc.php', 'username', 'password')

다시 발췌하면 위 코드 부분입니다. 속성값으로 사이트주소, 유저이름, 비밀번호가 있습니다. 대상이 되는 사이트의 xmlrpc주소를 통해 소통하게 되는 것이죠.

잘 연결이 되면 wp라는 변수에 해당 기능을 담게 됩니다. 이제 wp라는 변수를 이용해 포스트를 조회하거나 발행할 수 있습니다.


누군가는 이 기능을 이용해 악용하기도 할 수 있으며, 누군가는 보다 나은 서비스를 만들 수도 있습니다.

기술과 기능에는 선악이 존재하지 않는다고 합니다. 결국 사용하고 활용하는 사람의 의도에 따라 그 결과가 달라진다는 것을 의미합니다.

적절하게 잘 활용하여 보다 편리한 블로그 생활이 되었으면 합니다.

Leave a Comment