くだすれPython(超初心者用) その26at TECH
くだすれPython(超初心者用) その26 - 暇つぶし2ch1024:カゃないとすぐわかる だからそれpython以外の問題じゃないの?とまではわかった ただしwindowsが手元に無いし解決策までは提示できないので有能まではいかず ・無能 ID:ACT9XNdq(>>979) 説明不要 ・ゴミ ID:twsT9voz(>>982) browser.titleがstrを返すということがわからなかっただけでpython周辺ライブラリの知識が皆無 なのに的外れな回答をし続けた挙げ句、ぶち切れて捨て台詞 死んだ方がいいレベル 死ね 早く >>979みたいなこと言われたらそら初心者は「んー、バカなので難しいですな。。」とか書いちゃうのはしょうがないでしょ pythonろくに知らないし初心者馬鹿にするし、ここの一部の回答者ってホント救えないわ



1025:デフォルトの名無しさん
15/09/03 23:17:37.02 esByfF4n.net
>>981
まず根本的に、特定文字コードの文書はbytesであり、デコードするとstr(unicode≠UTF)になります
browser.titleがstrの時点でそれはデコード済みです、誤った文字コード処理ならエラーになっている事でしょう
デコード済みであるstrをエンコードしてbytesにし、同一コードでデコードを行っても何の意味もありません
文字化けの原因はスクリプトではなく、ご自身で書かれている通りターミナルコードとの不一致だと思います
Python3の標準出力は文字エンコーディングを持っていてstrをエンコードしてから出力します、これは
URLリンク(docs.python.jp)
にて解説されていますので、補足や>>983の通りターミナルコードを合わせるか、PYTHONIOENCODINGでUTF-8にするとか
他、実行中に sys.stdout = io.TextIOWrapper(sys.stdout.detach(),'utf-8') などとして変更する方法もあります

1026:デフォルトの名無しさん
15/09/04 01:14:57.15 /zhxqmNp.net
>>983
仰るとおりWindows版インストーラーで導入したPythonを使っています。
cp932で無いと文字化けするのはminttyの仕様だったのですね。納得しました。
>>984
Selenium+BeautifulSoupでスクレイピングを試しているところでした。
>>985
>特定文字コードの文書はbytesであり、デコードするとstr(unicode≠UTF)になります
デコード済みの内容をエンコードしてから再びデコードするという意味無い事してたのか・・・。
分かりやすい解説、その他サンプルの提示ありがとうございます!後ほど試してみたいと思います。
文字コードの理解が浅くターミナルが原因だという事まで考えに及びませんでした。
ご回答下さった皆様ありがとうございましたm(__)m

1027:デフォルトの名無しさん
15/09/04 04:06:01.59 x7fRT8f0.net
>browser.titleがstrの時点でそれはデコード済みです、誤った文字コード処理ならエラーになっている事でしょう
これだな
他の香具師は的外れ
>>986
違うよ
考え直せ

1028:デフォルトの名無しさん
15/09/04 07:08:04.13 6Gds/3zT.net
くだすれPython(超初心者用) その27
スレリンク(tech板)

1029:デフォルトの名無しさん
15/09/04 10:24:20.27 efXmgHpK.net
乙.py

1030:デフォルトの名無しさん
15/09/04 11:30:39.46 efXmgHpK.net
>>978
>type(title)の出力結果は、<class 'str'>です。
↓を読んだ上で↑の返事はさすがに無いわ
>>977
>なので、Webサイトから取得する文字列はsjisなんだから、
>titleをbytesとして受け取らないといけない。

1031:デフォルトの名無しさん
15/09/04 17:37:20.44 HNXLj6zd.net
君ら初心者いじめるの好きだねw

1032:デフォルトの名無しさん
15/09/04 19:25:26.13 Z77fhgK9.net
いや、人が回答を書いているのに人の書き込みをろくに読まずに
> んー、バカなので難しいですな。。
と書いて、自分の頭が悪いのを盾にして、
人の書き込みを読まないから、さすがに怒ったの
初心者いじめたかったら、そもそも何も教えてない

1033:デフォルトの名無しさん
15/09/04 20:27:20.03 F3w9cE+J.net
初心者以前に人の話を聞かない奴はダメだよね

1034:デフォルトの名無しさん
15/09/04 20:44:09.48 EI4y/sV7.net
>>974で違和感があったがwin版の可能性に気づけなかった
>>981のレスのおかげでWindows版を使ってることを推測できた
つまり一連のやりとりは十分な情報を引き出せた

1035:デフォルトの名無しさん
15/09/04 21:28:58.95 B3


1036:/17KX+.net



1037:デフォルトの名無しさん
15/09/04 21:35:03.89 Z77fhgK9.net
>>995
ちょっと改変するけど、
>>990
>>977
>なので、Webサイトから取得する文字列はsjisなんだから、
>titleをbytesとして受け取らないといけない。
↑を読んだ上で↓の返事はさすがに無いわ
>>978
>type(title)の出力結果は、<class 'str'>です。

1038:デフォルトの名無しさん
15/09/04 23:58:33.05 x7fRT8f0.net
>Selenium+BeautifulSoupでスクレイピングを試しているところでした。
そいつが browser.title を str に変換するときに間違ったエンコードでデコードして文字化けしたんだろう
既に壊れたデータをエンコードしても手遅れ
決してターミナルのせいではない

1039:デフォルトの名無しさん
15/09/05 01:43:35.09 jZ9K/01b.net
たいてい文字化けの原因は、端末を使うからだよ
TeraPad など、日本人の作ったエディタでは、
簡単に文字コードが変更できるので、
文字化けは起こらない
端末などは外人が作っているため、
日本語などはほったらかし

1040:デフォルトの名無しさん
15/09/05 02:12:09.52 ZKXW4+L0.net
超初心者スレでこの対応は辛辣だよなあ
話を聞いていないのではなく、理解できていないだけだろう
sjisだからbytesとして受け取らないといけないって説明も
初心者向けじゃないと思うし

1041:デフォルトの名無しさん
15/09/05 02:27:54.77 xb8mS1yp.net
次スレに書けよ

1042:デフォルトの名無しさん
15/09/05 02:29:02.99 jZwyv5P2.net
1000

1043:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1044:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch