運行代碼錯誤如題:
url = 'http://blog.csdn.net/dc_726/article/details/45399457'
# pretend as a browser
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1;\
WOW64; rv:23.0) Gecko/20100101 Firefox/23.0 '}
req = Request(url, headers=headers)
html = urlopen(req)
bsHtml = BeautifulSoup(html)
text = bsHtml.find('div', id="article_content")
print(text)
1.讀取過程中己將文本編碼爲utf-8, 故錯誤的原因在打印過程(print())中,實際上,窗口錯誤提示已明確指出:
File "D:/Project/python/Text/text.py", line 34, in <module>
print(text)
2.print() 系統默認爲gbk編碼格式,即程序運行時將對text進行gbk編碼,後輸出時對其進行解碼,故考慮用下列改之:(應該可以採用更改系統設置的方法的。。)
print(text.encode('gbk','ignore').decode('gbk'))注意:倘若你去掉上面的decode(‘gbk’),輸出的將是字節形式,以爲此時系統運行時判斷不需要對其進行編碼,故也不會進行解碼。
有關的編碼問題:
1.文件編碼:主要來處理文件中出現的中文,可在文件頭加:
# -*- coding:utf-8 -*-
2.運行時編碼:如上例。