天天看點

Python爬蟲遇到亂碼問題及解決方法

今天自己練習了一個爬蟲,爬取了我曾經學校的公告通知這個欄目,在擷取欄目下每篇文章的标題時,中文顯示的卻是亂碼。

爬取div标簽下的h5标簽,擷取文章的題目。

Python爬蟲遇到亂碼問題及解決方法
tv_name = soup.find_all('div', class_="nr_bt")[0].find('h5', ).getText().strip()
print(tv_name)
           
Python爬蟲遇到亂碼問題及解決方法

首先我自己知道出現亂碼,肯定是格式轉換的問題,但是改在哪轉換呢?

我先試了兩個地方,一個是在.strip()後面添加.decode('utf-8')

但是并不對str對象沒有decode屬性

Python爬蟲遇到亂碼問題及解決方法

另一個是在print(tv_name)的tv_name添加.decode('utf-8')

結果一樣是不對,列印的結果和第一個一樣

最後,我想到之前擷取這個公告通知頁面的時候我就沒有解碼,添加到下面這個地方

html_cont = response.read().decode('utf-8')
           
Python爬蟲遇到亂碼問題及解決方法

成功解決亂碼問題。