Python 可视化Facebook用户友谊图

来源:互联网 发布:帝国cms免费吗 编辑:程序博客网 时间:2024/04/30 00:12

CODE:

#!/usr/bin/python # -*- coding: utf-8 -*-'''Created on 2014-8-15@author: guaguastd@name: friendship_graph_visualize.py'''import networkx as nximport requestsimport jsonfrom networkx.readwrite import json_graphfrom IPython.display import IFramefrom IPython.core.display import displayACCESS_TOKEN = ''# impot loginfrom login import facebook_login# access to facebookfacebook_api = facebook_login()friends = [ (friend['id'], friend['name'],)               for friend in facebook_api.get_connections('me', 'friends')['data'] ]url = 'https://graph.facebook.com/me/mutualfriends/%s?access_token=%s'mutual_friends = {}# spawn a separate request for each iterationfor friend_id, friend_name in friends:    r = requests.get(url % (friend_id, ACCESS_TOKEN,), verify=False )    response_data = json.loads(r.content)['data']    mutual_friends[friend_name] = [ data['name']                                    for data in response_data ]nxg = nx.Graph()[ nxg.add_edge('me', mf) for mf in mutual_friends ][ nxg.add_edge(f1, f2)   for f1 in mutual_friends    for f2 in mutual_friends[f1]]nld = json_graph.node_link_data(nxg)json.dump(nld, open(r'C:\python\resources\ch02-facebook\viz\force.json', 'w'))viz_file = r'C:\python\resources\ch02-facebook\viz\force.html'display(IFrame(viz_file, '100%', '600px'))

RESULT:

0 0
原创粉丝点击