諸如類似的代碼:
……
texts = bs.find_all('div',class='content_element').p.text.strip()
???? print(texts)
……
搜索的內(nèi)容中有中文的情況下,python包BeautifulSoup解碼網(wǎng)頁的時候默認應該是使用了gbk進行編碼
通過此代碼可以看出
……
r=requests.get(link,headers=headers)
Print(r.encoding)
……
可以顯示編碼格式為iso-8859-1
因此我在代碼中定義的headers中沒有說明網(wǎng)頁頭文件中的編碼格式,以下圖片為非標準格式瀏覽器頭部文件

一般標準的頭部文件格式:
? ?

《HTTP權威指南》里第16章國際化里提到,如果HTTP響應中Content-Type字段沒有指定charset,則默認頁面是'ISO-8859-1'編碼。這處理英文頁面當然沒有問題,但是中文頁面,就會有亂碼了!
前面已經(jīng)說明如何查看當前編碼格式的方法,下面就說一下遇見此類問題該如何進行解決和糾正
首先因為使用的查看IDE中使用的解碼格式是utf-8的,之前網(wǎng)頁中默認使用的編碼格式也是utf-8的,所以我們必須將其解碼成utf-8格式的字符才能正常顯示中文
使用之前的代碼進行此操作:
texts = bs.find_all('div',class='content_element').p.text.strip().encode(‘iso-8859-1’).decode(‘utf-8’)
???? print(texts)
或者在之前進行encoding=‘utf-8’解碼修正
……
r=requests.get(link,headers=headers)
r=encoding=’utf-8’
print(r.encoding)
……
參考網(wǎng)站:
? ?https://www.cnblogs.com/ccsx/p/8572735.html
? ?https://www.cnblogs.com/surecheun/p/9694052.html
? ?https://www.cnblogs.com/bw13/p/6549248.html