teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

読み込むページをutf-8として扱えていない問題を修正しました。\(結果文字化けを起こします\)

2016/04/29 01:07

投稿

toko
toko

スコア144

answer CHANGED
@@ -13,8 +13,9 @@
13
13
 
14
14
  url = 'http://www.adobe.com/jp/#'
15
15
  xpath_query = '//a/text()'
16
- l = lxml.html.parse(url).xpath(xpath_query)
16
+ l = lxml.html.parse(url, parser=lxml.html.HTMLParser(encoding='utf-8')).xpath(xpath_query)
17
17
 
18
+
18
19
  print l[236].encode('cp932', 'ignore') # == (ignoreなので失敗した文字を無視している)
19
20
  print l[236].encode('cp932', 'replace') # == ?? (replaceだと空の文字列でないことはわかる)
20
21
  print l[236].encode('utf-8') # == 한국 (ハングルを扱える、例えばutf-8ならばエンコード可能)

1

用語が正しくなかったので修正しました。

2016/04/29 01:07

投稿

toko
toko

スコア144

answer CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  print l[236].encode('cp932', 'ignore') # == (ignoreなので失敗した文字を無視している)
19
19
  print l[236].encode('cp932', 'replace') # == ?? (replaceだと空の文字列でないことはわかる)
20
- print l[236].encode('utf-8') # == 한국 (エンコードできる文字コードだと表示可能)
20
+ print l[236].encode('utf-8') # == 한국 (ハングルを扱える、例えばutf-8ならばエンコード可能)
21
21
  ```
22
22
 
23
23
  別件で質問と関係ないことで、何か意図があるのでしたら申し訳ないのですが、