Python 获取Facebook用户与其有共同爱好的Friends

CODE:

#!/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

时间: 2024-10-06 12:15:44

Python 获取Facebook用户与其有共同爱好的Friends的相关文章

Python 获取Facebook用户的Friends的爱好

Code: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-11 @author: guaguastd @name: friends_like_query.py ''' # impot login from login import facebook_login # import helper from helper import pp # access to facebook facebook_api = face

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

CODE; #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-12 @author: guaguastd @name: friends_popular_likes.py ''' # impot login from login import facebook_login # import helper from helper import pp # calculating the most popular likes

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 ca

Python 获取Facebook特定用户的粉丝数

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-9 @author: guaguastd @name: fan_pages_compare.py ''' # impot login from login import facebook_login # import helper from helper import pp, int_format # access to facebook facebook_

Python 获取Facebook特定用户的feed和link

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-9 @author: guaguastd @name: facebook_connection_query.py ''' # impot login from login import facebook_login # import helper from helper import pp # access to facebook facebook_api

Python 对Facebook用户Friendship的聚类分析

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-13 @author: guaguastd @name: friendship_graph_construct.py ''' import networkx as nx import requests import json ACCESS_TOKEN = '' # impot login from login import facebook_login #

Python 获取Twitter用户与Friends和Followers的关系(eg, 交集,差集)

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-30 @author: guaguastd @name: friends_followers_analyzer.py ''' if __name__ == '__main__': # import json #import json # import search from search import search_for_tweet # import ge

通过Javascript Facebook API获取Facebook用户信息,以及当前用户的好

在使用APP之前需要先生成Facebook APP ID 这不必多说. 生成Facebook APP ID之后 在javascript中 初始化Facebook信息 而且我定义了一些我需要获取获取数据的全局变量 <script language="javascript" type="text/javascript"> //这是我们要获取的信息变量 var facebookId; var facebookName; var facebookProfileI

Python 获取Twitter用户的所有的friends和followers

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-29 @author: guaguastd @name: friends_followers_fetch.py ''' if __name__ == '__main__': # import json import json # import search from search import search_for_tweet # import get_fr