py3輸出程式碼的侷限以及各編碼器比較
阿新 • • 發佈:2018-12-17
爬個圖站,第一步看html_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出來了。至少讓我知道不是我原理錯了啊。感覺檢驗基本功shell最好,sublime弄個小程式碼可以,網頁什麼的pycharm更方便點,省心。
秀人网å°ä¹æœˆæ¸ 甜å¯äººèº«æçŽ²ç‘ [40P] </div> <div class="inline_full" style="display:none;"> 秀人网å°ä¹æœˆæ¸ 甜å¯äººèº«æçŽ²ç‘ [40P] </div> <!-- æ¡Œé¢æµè§ˆå™¨å ¨å±ä»£ç 由于手机测试ä¸æˆåŠŸé¡¾ä¸æ˜¾ç¤º -->