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 | +--------------------------+------+