ここではPOSTリクエストを送信しており、Pythonでレスポンスを取得しようとしています 問題は、非ラテン文字を歪ませることです。直接リンクで同じページをフェッチすると発生しませんなし検索結果)が、POSTリクエストで文句を言わないリンクここPython POSTリクエストのエンコーディング
を生成することは、私は何をすべきかです:
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®=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()
はいつでも私は
thepage = the_page.encode('utf-8')
を試してみてください私はこのエラーを取得:私はしようとするたびに
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 1008: ordinal not in range(128)
変更応答ヘッダのContent-Type:text/htmlの;のcharset = UTF-8、私はやる
response['Content-Type'] = 'text/html;charset=utf-8'
私が手にこのエラー:
AttributeError: addinfourl instance has no attribute '__setitem__'
私の質問:レスポンスを編集したり削除したりすることは可能ですか? もしそうでなければ、この問題を解決するもう1つの方法は、ソースをメモ帳++にコピーし、手動でエンコーディングを修正することですか?私はPythonとデータマイニングへの新たなんだ
は、本当にあなたが私なら、私が知っているだろうと期待し、何か間違ったこと
おかげ
リクエストにヘッダーを追加すると、検索結果のないページが返されます。 レスポンスヘッダ 'text/html; charset = utf-8'を 'text/html'に変更したいのですが、追加のcharset = utf-8が問題の原因になっている可能性があります。 – Earl
すでに読んだレスポンスのヘッダーを変更するとはどういう意味でしょうか?私は全く理解していません。 –
よく、私は何とかそのエンコーディングラインで応答を取得することを意味します...それは助けることができるか、技術的にすべてでposibbleであることを確認していません – Earl