Ich bräuchte hier mal etwas Hilfe bitte.
Ein Bekannter hat mir folgenden Code geschrieben, damit werden automatisch Abfragen bei Google Maps gestartet und die Entfernung in min und km ausgegeben.
Code: Alles auswählen
import urllib
import re
import time
km = re.compile(r"<b>(\d*,?.?\d*) km</b>")
minuten = re.compile(r"about <b>(\d*) mins?</b>")
stunden_minuten = re.compile(r"about <b>(\d*) hours? (\d*) mins?</b>")
PLZ_A = [70191]
PLZ_B = [70191, 67663]
res = []
for plz_a in PLZ_A:
for plz_b in PLZ_B:
print "Bestimme Entfernung von %s nach %s ..." % (plz_a, plz_b)
data = urllib.urlopen("http://maps.google.com/maps?q=from:%s+Germany+to:%s+Germany" % (plz_a, plz_b)).read()
entfernung = float(km.search(data).group(1).replace(',','.'))
stud_min = stunden_minuten.search(data)
if stud_min:
zeit = 60 * int(stud_min.group(1)) + int(stud_min.group(2))
else:
stud_min = minuten.search(data)
if stud_min:
zeit = int(stud_min.group(1))
else:
zeit = 0
print " ist:", entfernung
res += [(plz_a, plz_b, entfernung, zeit)]
print
print "Pythonformat:"
print res
print
print "Fuer TK: (auch in Datei ausgabe.txt)"
output = file('ausgabe.txt', 'w')
print >>output, '"PLZ A";"PLZ B";"Entfernung";"Fahrzeit in min"'
print >>output, '\n'.join(["%s;%s;%s;%s" % x for x in res])
output.close()
print '\n'.join(["%s;%s;%s;%s" % x for x in res])
print
print "Warte 30 sec"
#time.sleep(30)
Meine Frage: kann der Code umgeschrieben werden, sodass statt der reinen PLZ immer "PLZ Ort" abgefragt wird? also z.B. "80331 München"? Bei dem jetzigen Code kommt dabei ein SyntaxError: invalid syntax.
Ich kenne mich leider selbst mit python 0,0 aus ...
Danke für Eure Hilfe!
Chris