Finde den kürzesten Weg zwischen zwei Artikeln in der englischen Wikipedia in Python
Die Frage:
Finden Sie den kürzesten Weg zwischen zwei Artikeln in der englischen Wikipedia. Der Pfad zwischen Artikel A und B ist vorhanden, wenn Artikel C (i) vorhanden sind und in Artikel A ein Link zu Artikel C (1) und in Artikel C (1) ein Link zu Artikel C (2) vorhanden ist. In Artikel C (n) befindet sich ein Link, der zu Artikel B führt
Ich benutze Python. URL zum Download des Wikipedia-Artikels:
http://en.wikipedia.org/wiki/Nazwa_artykułuhttp://en.wikipedia.org/w/index.php?title?Nazwa_artykułu&printable=yesWikipedia APIIch habe meinen Quellcode bearbeitet, aber es funktioniert immer noch nicht, wenn ich diese Artikel in Codes einbinde. Kann mir jemand sagen, was ich hier anstellen soll?
Das ist mein Code:
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