Как вариант перепилить код с хабра:
# для каждого пользователя проверяем список друзей
print 'Parsing for user: %s' %user.dl.dt.a.string
doc = BeautifulSoup(urlopen(user.dl.dt.a['href']))
page = doc.findAll('a', attrs = {'rel' : 'friend'})
# находим друзей текущего пользователя и добавляем их в граф
if page:
for friend in page:
self.drawer.graph.add_nodes_from((user.dl.dt.a.string, friend.string))
self.drawer.graph.add_edge(user.dl.dt.a.string, friend.string)
print "Add edge (%s, %s)"%(user.dl.dt.a.string, friend.string)
else:
self.drawer.graph.add_node(user.dl.dt.a.string)
except URLError:
За хранение и отрисовку графа отвечает класс Drawer из модуля draw.py:
# -*- coding:utf-8 -*-
# draw.py
import networkx as nx
import matplotlib.pyplot as plt
class Drawer(object):
def __init__(self, file_name = 'graph.png'):
self.graph = nx.Graph()
self.file_name = file_name
def draw(self):
'''
отрисовываем граф с заданными параметрами
'''
nx.draw(self.graph,pos=nx.spring_layout(self.graph), node_size=3500, nodecolor='r',edge_color='b', node_shape='o')
# устанавливаем размер изображения в дюймах
plt.gcf().set_size_inches(100,100)
plt.savefig(self.file_name)