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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值