Advertisement
NickIsNotTaken

Graphs with vk api lib

Jul 22nd, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. import networkx as nx
  2. import matplotlib.pyplot as plt
  3. import time
  4. import vk
  5. friends = []
  6. offset1 = 0
  7.  
  8. session = vk.Session(access_token='fc098eed7a2f18129ce9c34fe59612739a07476774a20c0c46cf69e569cf7e9347867feaa92a7883b6185')
  9. api = vk.API(session)
  10.  
  11. G = nx.Graph()
  12.  
  13. members = api.groups.getMembers(group_id='ddos_hub', fields='https://vk.com/ddos_hub', v=5.74)
  14. #print(members)
  15. count_members = members['count']
  16. #print(count_members)
  17. for member in members['items']:
  18. G.add_node(member['id'], label='{} {}'.format(member['first_name'], member['last_name']))
  19.  
  20. for member in members['items']:
  21. try:
  22. #print("current user: {} {}".format(member['first_name'], member['last_name']))
  23. friends = api.friends.get(user_id = '187598580', order = 'hints', v = 5.74)
  24. #print(type(friends))
  25. #print(friends)
  26.  
  27. for friend in friends['items']:
  28. if G.has_node(friend):
  29. G.add_edge('187598580', friend)
  30.  
  31.  
  32. # Поменял время из-за Too many requests per second
  33. time.sleep(0.5)
  34. except Exception as e:
  35. print(e)
  36.  
  37. nx.write_gexf(G, 'friends.gexf')
  38.  
  39. pos=nx.spring_layout(G)
  40.  
  41. nx.draw_networkx_nodes(G, pos, node_color='cyan', node_size=50)
  42. nx.draw_networkx_edges(G, pos, edge_color='green')
  43. nx.draw_networkx_labels(G, pos, font_size=11, font_family='Arial')
  44. plt.axis('off')
  45. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement