Python 获取Facebook用户与其有共同爱好的Friends
2014-08-13 06:48
309 查看
CODE:
RESULT:
#!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-13 @author: guaguastd @name: common_friends_finding.py ''' # impot login from login import facebook_login # import helper #from helper import pp # import PrettyTable from prettytable import PrettyTable from collections import Counter from operator import itemgetter # 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]} friends_likes = Counter([like['name'] for friend in likes for like in likes[friend] if like.get('name')]) # Which of your likes are in common with which friends my_likes = [ like['name'] for like in facebook_api.get_connections("me", "likes")['data'] ] # Use the set intersection as represented by the ampersand # operator to find common likes common_likes = list(set(my_likes) & set(friends_likes)) # Which of your friends like things that you like? similar_friends = [ (friend, friend_like['name']) for friend, friend_likes in likes.items() for friend_like in friend_likes if friend_like.get('name') in common_likes ] # Filter out any possible duplicates that could occur ranked_friends = Counter([ friend for (friend, like) in list(set(similar_friends)) ]) pt = PrettyTable(field_names=["Friend", "Common Likes"]) pt.align["Friend"], pt.align["Common Likes"] = 'l', 'r' [ pt.add_row(rf) for rf in sorted(ranked_friends.items(), key=itemgetter(1), reverse=True)] print "My similar friends (ranked)" print pt
RESULT:
My similar friends (ranked) +--------------------------+--------------+ | Friend | Common Likes | +--------------------------+--------------+ | Los Mas Lindos del Mundo | 1 | | Soofi Cat | 1 | | Jorge Rodriguez | 1 | | Kevin Swaggy | 1 | +--------------------------+--------------+
相关文章推荐
- Python 获取Facebook用户与其Friends的共同爱好
- Python 可视化Facebook用户与其有共同爱好的Friends (数量)
- Python 获取Facebook用户的Friends的爱好中的Top10
- Python 获取Facebook用户Friends的爱好类别中的Top10
- Python 获取Facebook用户的Friends的爱好中的Top10
- Python 获取Facebook用户Friends的爱好类别中的Top10
- Python 获取Facebook用户的Friends的爱好
- Python 获得Facebook用户有一个共同的兴趣Friends
- Python 获取Facebook特定用户的feed和link
- Python 获取Facebook特定用户的粉丝数
- Python 统计Facebook用户爱好的个数
- Python 获取Twitter用户与Friends和Followers的关系(eg, 交集,差集)
- Python 获取Twitter用户与Friends和Followers的关系(eg, 交集,差集)
- Python 统计Facebook用户爱好的个数
- Python 获取Twitter用户的所有的friends和followers
- Python 获取豆瓣用户电影收藏数据
- Python:通过远程监控用户输入来获取淘宝账号和密码的实验(二)
- python获取微信公共平台消息列表和用户头像
- Python 可视化Facebook用户友谊图
- Python获取当前系统用户名