아직 잘은 모르지만, Twitter의 API를 사용하게 해주는 파이썬의 래퍼 라이브러리(?-이표현이 맞을까)인 듯 하다.
http://code.google.com/p/python-twitter/
위의 URL로 들어가면 해당 프로젝트의 웹 페이지가 나온다.
먼저
각각 json, http, oauth에 관한 라이브러리 패키지들이다. 파이썬-트위터가 위 패키지들에 의존적이므로 미리 설치해두는 편이 무자비한 탈모증상을 막는데 도움이 될 것이다.
각각 패키지의 설치법은 리눅스를 기준으로,
$sudo python setup.py install
이 명령어면 대부분 될 것이다.
다만 내 경우 세번째 패키지를 설치할 때 다소 시행착오가 있었는데, simplejson 패키지에서 ez_setup.py파일을 복사해서 이 코드부터 실행시킨 뒤에 위의 명령어를 날려주면 가뿐할 것이다.
그런 다음, google의 프로젝트 페이지에서 소스코드를 다운받아서
$sudo python setup.py build
$sudo python setup.py install
을 입력해주면 설치가 금방 끝날 것이다. 끝나고 난 뒤, 테스트로
$python twitter_test.py
와 같은 명령으로 제대로 되는지를 테스트해볼 수 있다고 하지만, 내 경우에는 에러메시지만 출력하였다.
자 라이브러리를 설치했으니, 뭔가 테스트해봐야할 것이다.
원래대로라면 basic인증이라 해서 아이디와 패스워드만 있으면 바로 트위터 api를 사용가능했다고 한다. 하지만 지금은 OAUTH나 XAuth와 같은 인증을 통하지 않고는 불가능하다고 한다. 보안문제를 위해 조금 더 번거로워 졌다고 보면 되겠다.
OAuth는 트위터에서 사용하는 인증에 대한 표준이다. 트위터의 리드 프로그래머와 구글의 오픈 웹 담당자와 또 모종의 인물이 담합(?)하여 만든 표준이라는데, 나도 정확하게는 모르겠다. 온라인 결제를 위해 사용하는 공인인증방식을 떠올리면 비슷하겠으나, 이와 같은 방법을 표준화했다고 생각하면 될 것 같다.
더 자세히 설명한 포스팅이 있으니 참고하자.
일단 인증을 하기 위해 다음의 페이지로 가서 등록을 하자.
https://dev.twitter.com/apps/new
여기서 *표시된 것은 반드시 작성해야하는 것이며, URL을 적으라고 하는 부분은 http://localhost/와 같이 적어도 무방하다고 한다. 이후 어플리케이션 배포시 제작자와 사용자간에 소통을 위한 것인 듯 하다. 나같은 경우 이 블로그의 주소를 입력하였다.
입력을 마치면 Access level, Consumer Key, Consumer Secret와 같은 여러 항목들이 보일 것이다. Access Level은 짐작컨데 트위터에 대해 읽을수만 있느냐, 쓰기도 가능하냐에 대한 이야기인 것 같다. Consumer Key와 Consumer Secret의 경우, 어플리케이션에 대한 Public Key - Secret Key의 쌍인 듯 하다. 이 키는 언제든 이 페이지에서 볼 수 있다.
그리고 아래에서 Access를 위한 키를 생성하자. 버튼을 누르면 잠시 뒤 생성된다. 이 키값들을 가지고 API를 실행해 볼 수 있다.
먼저 Idle-2.7을 실행시키자.(3.0 이상은 안되는 것 같았다.)
>>> import twitter
>>> api = twitter.Api(consumer_key="key", consumer_secret="secret", access_token_key="token_key", access_token_secret="token_secret")
>>> list = api.GetPublicTimeline()
>>> for i in range(0, list.__len__()):
print(i, list[i].GetText())
위와 같이 코드를 입력시키면 sample public time line을 받아볼 수 있을 것이다. 위의 Api 객체 생성을 위한 파라미터는 자신의 등록된 키 값으로 적절히 채워넣자. 위와 같은 코드를 실행시키면
위와 같은 결과를 볼 수 있을 것이다.
역시 환경설정이 가장 어려운 것 같다.
일단 오늘은 여기까지...