2017-02-13 6 views
-2

Webページを表示しようとしていますが、オブジェクトを文字列として表示しないため、改行を正しく表示しません(\nと表示されます)。これは動作していないように、どのように結果を文字列に適切にすることができますか?ありがとう!文字列のpythonへのHttpresponse

result = urllib.request.urlopen(requesturl).read() 
return str(result) 
+0

質問は不明です。 '\ n'が含まれていても、無効な文字列にはなりません。これは 'pyqt'に特有のものですか、あるいは単に新しい文字列で区切られた単一の文字列を出力したいのですか? – roganjosh

+0

\ n文字を実際に改行したいのですが、タイプがhttpresponseのように見えるので、改行の代わりに文字\ nを出力します。 – acb10824

答えて

2

this postで説明したように、Content-Typeからのレスポンスの文字エンコーディングを処理する必要があります。 urllibは、get_content_charsetメソッドを使用してヘッダーからこれを取得する便利な方法を提供します。

from urllib.request import urlopen 

with urlopen(request_url) as response: 
    html_response = response.read() 
    encoding = response.headers.get_content_charset('utf-8') 
    decoded_html = html_response.decode(encoding) 
    return decoded_html