In [ ]:
import networkx as nx
g = nx.DiGraph()

In [ ]:
interns = {}

with open('links-simple-sorted.txt', encoding='utf8') as f:
    for l in f:
        words = l.split()
        words[0] = words[0].strip(':')
        words = [id(interns.setdefault(w, w)) for w in words]
        
        from_page, *to_pages = words
        g.add_node(from_page)
        g.add_edges_from(((from_page, p) for p in to_pages))

In [ ]: