urllib -> KML (utf-8) zu unicode

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
szallah
User
Beiträge: 14
Registriert: Dienstag 27. Mai 2008, 07:31

@BlackJack

also wenn ich die datei im IE runterlade und in python öffne sieht das so aus: (und nein, da ist nix gefaked oder sonst was, das ist bei mir wirklich so)
Bild

ich sehe da einerseits kyrlilische zeichen (per print), und nen utf-8 kodierten string...

ist der IE also schlau genug das "kaputte" xml selbstständig nach utf-8 umzuwandeln? wenn ja, dann muss ich mich wohl schlau machen wie ich python dazu bringe das kaputte xml zu reparieren...
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

sma hat geschrieben:Da hätte ich mehr von Google erwartet. Hier ist der Bug.
Also laut dem Bug kann man eher nach dem Header "Content-Type" im HTTP gehen. Kannst ja diesen auslesen und verwenden damit du Unicode erstellen kannst und nacher in UTF-8 wandeln.

Gruss
szallah
User
Beiträge: 14
Registriert: Dienstag 27. Mai 2008, 07:31

@Rayo

das war die information die ich gebraucht habe...

folgendes funktioniert:

Code: Alles auswählen

url = 'http://maps.google.de/maps?f=d&hl=de&geocode=&saddr=55.736226%2037.66465&daddr=55.736226%2037.66465&output=kml'
user_agent = 'Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)'
data = ''
headers = { 'User-Agent' : user_agent }
req = urllib2.Request(url, data, headers)
resp = urllib2.urlopen(req)
response = resp.read()
uni = unicode(response,'utf-8')
vielen dank... :)
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Da funktioniert auch ohne den Header :) Die Datei hat nur ascii-Zeichen drin. Ich meinte den Antwort-Header vom Server und nicht den Request-Header.

Gruss
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

sma hat geschrieben:Da hätte ich mehr von Google erwartet. Hier ist der Bug.
Das ist echt eine peinliche Sache und das auf den Bug immer nur eine Reaktion pro Monat kommt ist irgendwie schwach.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Google-Mitarbeiter müssen wohl allgemein einer Policy folgen, dass Bugs nur spärlich angeschaut werden dürfen. Bei googleappengine dümpeln über 300 Defects in deren Issue-Tracker herum, dass man etwa keine Apps löschen kann ist auch "erst" wenige Monate offen. Für das Project Hosting selbst gibt es mehr als 500 offene Punkte. Einstellbares Syntaxhighlighting wünscht man sich dort seit 2006...
Antworten