天天看点

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爬虫遇到乱码问题及解决方法

成功解决乱码问题。