Passion/Python

프로젝트 : myagent

sunshout 2009. 12. 11. 17:37
이전에 만든 건에 정리를 한다.

실행예제) http://mypoint.tistory.com

실행방법: python myagent.py keyword.xml

개요: myagent는 naver나 daum 의 openapi를 이용하여 원하는 뉴스나 카페 글을 검색하여 나의 블로그 홈페이지에 자동으로 포스팅 해주는 시스템이다. 말 그대로 블로그 비서이다. ㅋㅋ

방법:
1) 검색 키워드를 가지고 openapi를 이용하여 naver 또는 daum에서 검색을 한다.
2) 받은 내용을 metaweb blog 형식으로 변환하여 블로그에 포스팅 한다.

구현:
1) 환경 설정 keyword.xml 파일
 ~ keyword.xml 파일은 두가지의 내용을 담고 있다.
 ~ 첫째는 네이버에서 어떤 단어를 어떻 카테고리(news, cafe, blog 등)에서 검색할지에 대한 설정
    (request element)
 ~ 둘째는 이를 내 블로그의 어떤 카테고리에 포스팅 할지에 대한 설정이다.
   (blogging element)

xml 설정 예제 (Language : xml)
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<request>

  <key>xxxxxxxxxxxxxxxxxxxxxxxx</key>  # naver openapi에서 받은 개인 key
  <target>news</target>                        # 검색 카테고리 (news|blog|cafearticle|webkr)
  <query>광교 분양</query>                   # 검색 키워드
  <display>10</display>                        # 검색 갯수 (10 ~ 100)
  <start>1</start>                                  # 검색의 시작 위치
  <sort>date</sort>                               # 소팅 순서 (date|sim ...)
</request>
<blogging>
 <xmlrpcurl>http://mypoint.tistory.com/api</xmlrpcurl>     # 블로그 metaweb api url
 <id>xxxx@xxx.com</id>                        # 블로깅을 위한 ID
 <pw>xxxxx</pw>                                 # 블로깅을 위한 비밀번호
 <category>
부동산/광교</category>        # 내 블로그에 포스팅할 카테고리
</blogging>
</config>
 
 

myagent 파일 분석

myagent.py 파일 일부 (Language : python)
  1. if __name__ == '__main__':
  2.    cfg = sys.argv[1]
  3.    (my_request, my_blogging) = parseConfig(cfg)
  4.  
  5.    # step 1. search from naver
  6.    item = getitem(my_request)
  7.    # step 2. post result
  8.    postitem(item.encode('utf-8'), my_blogging)
  9.  



소스 파일