Python 获取Facebook用户Friends的爱好类别中的Top10

时间:2023-03-10 02:53:15
Python 获取Facebook用户Friends的爱好类别中的Top10

CODE:

#!/usr/bin/python
# -*- coding: utf-8 -*- '''
Created on 2014-8-12
@author: guaguastd
@name: friends_popular_category.py
''' # impot login
from login import facebook_login # import helper
#from helper import pp # calculating the most popular category among your friends
from prettytable import PrettyTable
from collections import Counter # access to facebook
facebook_api = facebook_login() # get friends like through single request
#friends_like = facebook_api.get_object('me', fields='id,name,friends.fields(id,name,likes)')
#pp(friends_like) # get friends like through multi request
friends = facebook_api.get_connections("me", "friends")['data']
likes = { friend['name'] : facebook_api.get_connections(friend['id'], "likes")['data']
for friend in friends[:10]}
#print 'likes:', likes friends_likes_categories = Counter([like['category']
for friend in likes
for like in likes[friend]]) pt = PrettyTable(field_names = ['Category', 'Freq'])
pt.align['Category'], pt.align['Freq'] = 'l', 'r'
[ pt.add_row(flc) for flc in friends_likes_categories.most_common(10) ]
print 'Top 10 likes categories for friends'
print pt

RESULT:

Top 10 likes categories for friends
+--------------------------+------+
| Category | Freq |
+--------------------------+------+
| Community | 47 |
| Musician/band | 34 |
| Professional sports team | 10 |
| Artist | 8 |
| Public figure | 5 |
| Athlete | 5 |
| Movie | 4 |
| Local business | 4 |
| Actor/director | 4 |
| App page | 4 |
+--------------------------+------+