py 3出力コードの限界と各エンコーダの比較

1428 ワード

図駅に登って、まず見ます。doc結果は出力できませんでした
#coding=utf-8
import io
import sys
import requests
from bs4 import BeautifulSoup
#sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') 
url = 'http://www.xmeim.com/photos/XiuRen-192001.html'

header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36'}

# get    url   headers
html = requests.get(url,headers = header)


print(html.text)
Sublimeコンパイラでerrorを表示します。
UnicodeEncodeError: 'gbk' codec can't encode character '\xe7' in position 660: illegal multibyte sequence
原理はブログのように、次のコードを付けました。
import io
import sys
import urllib.request
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #           
res=urllib.request.urlopen('http://www.baidu.com')
htmlBytes=res.read()
print(htmlBytes.decode('utf-8'))

第一段のコードはsys行のコシを抜くと正常です。Sublimeは軽いですが、tmはいつもいろいろなcode errorで、甚だしきに至っては私のネット上のcopyからのコードまで、彼もcode errorです。私はpycharmを作りに行きましたが、文字化けのprintを持って出てきました。少なくとも、私の原理が間違っているのではないかと教えてください。基本的な機能をチェックするのが一番いいと思います。sublimeは小さいコードを作ってもいいです。ホームページなどのpycharmはもっと便利で、安心します。
 秀人网小九月æ¸
甜可人身材玲珑 [40P]        
囔ºc½‘オングス度坌。¹メッセージœˆメッセージ
節分するœオンス¯囔ººººº啣啣墝節分する。Ž²節分する。‘ [40 P]