Python 统计Facebook用户爱好的个数
CODE:
#!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-12 @author: guaguastd @name: friends_likes_number.py ''' # impot login from login import facebook_login # import helper #from helper import pp # import itemgetter from operator import itemgetter # import PrettyTable from prettytable import PrettyTable # 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[:20]} print 'likes:', likes # calculate the number of like num_likes_by_friend = { friend : len(likes[friend]) for friend in likes } pt = PrettyTable(field_names=['Friend', 'Num Likes']) pt.align['Friend'], pt.align['Num Likes'] = 'l', 'r' [ pt.add_row(nlbf) for nlbf in sorted(num_likes_by_friend.items(), key=itemgetter(1), reverse=True)] print "Number of likes per friend" print pt
RESULT:
Number of likes per friend +--------------------------+-----------+ | Friend | Num Likes | +--------------------------+-----------+ | Ayelén Basualdo | 25 | | Soofi Cat | 25 | | Brenda Magali | 25 | | Brisa Agustina ʚiɞ | 25 | | Jeniifer Mendez | 25 | | Wanda Bianchi | 25 | | Los Mas Lindos del Mundo | 15 | | Kevin Swaggy | 14 | | Jorge Rodriguez | 11 | | Karen Csr | 8 | | Silvia Dutto | 3 | | Nanu Soria | 3 | | 吴城 | 1 | +--------------------------+-----------+