Encuentra el camino más corto entre dos artículos en inglés Wikipedia en Python

La pregunta:

Encuentra el camino más corto entre dos artículos en Wikipedia en inglés. La ruta entre el artículo A y B existe si hay artículos C (i) y hay un enlace en el artículo A que conduce al artículo C (1), en el artículo C (1) que conduce al artículo C (2), ... ., en el artículo C (n) es un enlace que conduce al artículo B

Estoy usando Python. URL para descargar el artículo de wikipedia:

http://en.wikipedia.org/wiki/Nazwa_artykułuhttp://en.wikipedia.org/w/index.php?title?Nazwa_artykułu&printable=yesAPI de Wikipedia

He editado mi código fuente, pero aún no funciona cuando incluyo esos artículos en los códigos. ¿Puede alguien decirme qué estoy haciendo aquí?

Este es mi código:

import urllib2
import re
import xml.etree.ElementTree as ET

text = ET.fromstring(F_D.text.encode('UTF-8'))
text = ET.fromstring(P.text.encode('UTF-8'))
F_D=requests.get('http://en.wikipedia.org/wiki/Ant_colony_optimization_algorithms')
P=requests.get('http://en.wikipedia.org/wiki/Wikipedia:Unusual_articles')  
links = text.findall('.//*[@id=”mw-content-text”]/p/a')

links=E_D

E_D = graph_dict
E_D[start] = 0

for vertex in E_D:
    F_D[vertex] = E_D[vertex]
    if vertex == end: break

    for edge in graph[vertex]:
        path_distance = F_D[vertex] + graph[vertex][edge]
        if edge in F_D:
            if path_distance < F_D[edge]:
                #raise ValueError,
            elif edge not in E_D or path_distance < E_D[edge]:
                E_D[edge] = path_distance
                [edge] = vertex
return (F_D,P)

def Shortest_Path(graph,start,end):
  F_D,P = D_Algorithm(graph,start,end)
  path = []
  while 1:
    path.append(end)
    if end == start: break
    end = P[end]
  path.reverse()
  return path

Respuestas a la pregunta(2)

Su respuesta a la pregunta