Python-Anforderung POST-Codierung

hier ist die situation, ich bin senden von POST-requests und versucht zu Holen die Reaktion mit Python
problem ist, dass es verzerrt nicht lateinische Buchstaben, die nicht geschehen, wenn ich fetch der gleichen Seite mit direktem link (keine Suchergebnisse), aber POST-requests nicht erzeugen einen link

hier ist was ich tun:

import urllib
import urllib2
url = 'http://donelaitis.vdu.lt/main_helper.php?id=4&nr=1_2_11'
data = 'q=bus&ieskoti=true&lang1=en&lang2=en+-%3E+lt+%28+71813+lygiagre%C4%8Di%C5%B3+sakini%C5%B3+%29&lentele=vertikalus&reg=false&rodyti=dalis&rusiuoti=freq' 
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
file = open("pagesource.txt", "w")
file.write(the_page)
file.close()

immer wenn ich versuche

thepage = the_page.encode('utf-8')

bekomme ich diesen Fehler:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 1008: ordinal not in range(128)

immer wenn ich versuche ändern der response-header Content-Type:text/html;charset=utf-8, ich weiß

response['Content-Type'] = 'text/html;charset=utf-8'

bekomme ich diesen Fehler:

AttributeError: addinfourl instance has no attribute '__setitem__'

Meine Frage: ist es möglich, zu Bearbeiten oder zu entfernen-Antwort-oder request-Header?
wenn nicht, gibt es eine andere Möglichkeit dieses problem zu lösen, andere, die das kopieren von Quellcode in notepad++ und Befestigung Codierung manuell?

ich bin neu in python und data mining, hoffe wirklich, Sie würde lassen Sie mich wissen, wenn ich;m, etwas falsch zu machen

Dank

InformationsquelleAutor Earl | 2012-02-27
Schreibe einen Kommentar