마사키군의 다락방

끄적끄적할게 있을때 끄적거려 보관해두는 다락방

Python으로 월별 페이스북 글 작성 개수 가져오기

심심해서 한번 끄적거려봄.

페이스북에 작성한 글 개수를 월별로 한번 뽑아내보고 싶어서 대충 간단한 함수를 하나 짜 봤다.

마침 Facepy라는 라이브러리가 Facebook의 Graph API의 URL만 넘겨주면 리턴값을 Dict로 넘겨주길래 간단하게 만들 수 있었다.

사실 Facebook SDK for Python이라는 라이브러리를 먼저 살펴봤는데, Python 3.4에서 설치가 안되서 때려치운건 함정

여하튼 Facepy를 사용하는 함수이기 때문에 먼저 Facepy를 설치해야 한다.

Facepy를 설치했다면, 적당히 폴더를 하나 만들고 아래 내용을 파일로 만들어 저장한다. 참고로 이 함수는 파이썬 3.4로 작성했으며, 상단에 인코딩을 UTF-8로 지정했기 때문에 반드시 UTF-8로 저장해야 한다.

심심풀이?로 Pastebin에도 써놨는데, 그쪽으로 볼 사람은 이쪽 참고.

여하튼 적당히 저장했으면, 파이썬을 실행한 후 위 모듈을 읽어들인다. 모듈을 읽어들이는 방법은, 해당 파일이 있는 디렉토리에서 파이썬을 실행시킨 후 파일의 확장자인 .py를 제외한 이름으로 import 한다.

  • 예: 파일 이름이 fb_stats.py인 경우
    • 파이썬 실행 후 import fb_stats

여기까지 진행했으면, Facebook에 접근할 수 있도록 Access Token을 발급받아야 한다. 본래는 앱 개발자로 등록해서 정식으로 Access Token을 발급받아야 할 것 같지만, 이건 어차피 일회용 프로그램? 이니까, 그냥 임시로 받아서 쓴다.

일단 Graph API Explorer에 접속한다.

Graph API Explorer

Graph API Explorer에 접속하면 상단에 Acess Token이라는 입력칸이 있고, 우측 끝 혹은 그 아래쪽에 Get Token이라는 버튼이 있다. Get Token > Get Access Token을 클릭한다.

권한 선택권한 선택 화면이 나오면 user_posts 권한을 선택하고, 하단의 Get Access Token을 클릭한다.

권한 수락

그러면 선택한 권한을 수락하느냐는 창이 뜨는데, 여기서 확인 버튼을 클릭한다.

그러면 Graph API Explorer 화면으로 돌아오게 되는데, 아까의 상단의 Acess Token 입력칸에 Token이 입력되었을 것이다. 이것을 전체 복사한다.

Access Token

복사했으면 다시 파이썬으로 되돌아가서, 아래와 같이 함수를 실행한다. 여기서 fb_stats는 맨 처음에 import에서 입력하는 모듈의 이름이자, 파일명이기도 하다. <access_token>에는 위에서 복사한 Access Token을 붙여넣는다.

그러면 뭐가 죽 올라간(…) 다음에, 해당 폴더 내에 지정된 파일명으로 매월 작성한 포스팅 수가 저장된다. 파일 형태는 한줄에 탭으로 구분된 두개의 필드가 들어있으며, 첫번째 필드는 작성년월, 두번쨰 필드는 포스팅 갯수이다.

ps1. 이거 처음 만들때부터 logging을 붙였는데, 100줄도 채 안되는 함수 하나 가지고 logging은 괜히 붙였나 싶기도 하고…

ps2. 참고로 이 함수의 실행 결과로 나오는 포스팅 개수는 정확하지 않을 수도 있다. Graph API의 /post가 정말로 내가 작성한 글만 리턴해주는지, 아니면 내 타임라인에 다른 사람이 작성한 글과, 내가 태깅된 글까지도 모두 포함하는지는 확인해보지 않았기 때문이다.

, , ,

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다