2
私はいくつかのウェブサイトのセグメントを取得しようとしています。スクリプトは動作しますが、それはá、é、í、ó、úなどのアクセントを持つWebサイトです。urllib:utf-8でエンコードされたサイトのソースコードを取得
urllibまたはurllib2を使用してサイトを取得すると、utf-8はこれらのアクセントをサポートするため、サイトソースコードはutf-8でエンコードされません。
それは次のメタタグを含むように私は、標的部位がUTF-8でエンコードされていることを信じている:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
私のPythonスクリプト:
opener = urllib2.build_opener()
opener.addheaders = [('Accept-Charset', 'utf-8')]
url_response = opener.open(url)
deal_html = url_response.read().decode('utf-8')
しかし、私は見ての結果を得続けますUTF-8にエンコードされていないようです。
例えば: "ミラン" のウェブサイトでは、= "ミル\ xe1nは" urllib2のは、それ
任意の提案をフェッチした後?
私は "Mil \ xc3 \ xa1n"を印刷するとMilanを返します。これは完璧です。しかし、ソースコードから文字列を取り出してリストに追加すると、 "Mil \ xc3 \ xa1n"という文字列が得られます。これをリストや辞書に表示するにはどうすればいいですか? –
リストは、その中の各項目で 'repr()'を呼び出します。これが、拡張文字がエスケープされる理由です。デバッグの目的でより読みやすい表現が必要な場合は、 '[mylistのxのstr(x)]'のようなことをしてください。 – kindall