There is
a pull request to add this feature explicitly, but it is not yet in the most recent version.
In the development version of NetworkX (from github), the 'weight' keyword of shortest_path can be any function which takes (u, v, data) and returns a number. You can probably use this feature to create a weight function which includes the node weights instead of (or in addition to) the edges weights.
# untested -- try it on a simple network first
get_node_weight = lambda u,v,d: G.node[v].get('weight', 0)
nx.shortest_path(G, source=3, weight=get_node_weight)