Problem mit urllib bei Umlauten
Verfasst: Samstag 24. September 2005, 14:26
Hallo!
Ich versuche hier ein Suchformular über Python mit urllib2 als POST anzusteuern. (auf www.magiccards.info )
Das ganze klappt soweit ganz gut, ausser wenn ich was mit Umlauten drin suche. Dann wandelt urllib.urlencode nämlich die zeichen wie z.B. "ä" in "%E4" um, was jedoch wie beim händischen Zusammenfügen der URL nicht klappt. Mache ich das ganze jedoch im Webbrowser wird das ganze anscheinend korrekt über POST versandt und ich erhalte meinen Treffer.
Momentan sieht der wesentliche code folgendermaßen aus:
mfg
Yonibear
Ich versuche hier ein Suchformular über Python mit urllib2 als POST anzusteuern. (auf www.magiccards.info )
Das ganze klappt soweit ganz gut, ausser wenn ich was mit Umlauten drin suche. Dann wandelt urllib.urlencode nämlich die zeichen wie z.B. "ä" in "%E4" um, was jedoch wie beim händischen Zusammenfügen der URL nicht klappt. Mache ich das ganze jedoch im Webbrowser wird das ganze anscheinend korrekt über POST versandt und ich erhalte meinen Treffer.
Momentan sieht der wesentliche code folgendermaßen aus:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import urllib2, urllib
from re import *
from sys import exit,argv
from os import makedirs
from codecs import *
URL = "http://www.magiccards.info/query.php"
if len(argv) < 2:
print "Bitte Kartennamen angeben"
exit()
CARD_NAME = argv[1]
CARD_LANG = "all"
POSTdata = {
"cardname":CARD_NAME,
"cardname_language":CARD_LANG}
encodedPOST = urllib.urlencode(POSTdata)
search_page = urllib2.urlopen(URL, data=encodedPOST)
page_html = search_page.read()
mfg
Yonibear