爬取四大名著:
学习其他博主爬取四大名著下载到本地时发现是乱码格式,找到解决办法与大家分享
问题描述:
- 错误代码
# 获取html
def get_html(self, url):
result = requests.get(url=url,headers=self.headers)
return BeautifulSoup(result.text, 'lxml')
-
错误代码运行结果
-
正确代码
# 获取html
def get_html(self, url):
result = requests.get(url=url,headers=self.headers)
# 注意,一定要加下面这一句,否则下载下来的内容会出现乱码,根据网页源码查看属于utf-8,所以要将其转化成和网页源码一样,下面就是一个转化方式
result.encoding = "utf-8"
return BeautifulSoup(result.text, 'lxml')
- 正确代码运行结果
原因分析:
Requests推测的文本编码与源网页编码不一致,因此会导致乱码问题的出现
解决方案:
具体可见链接:https://www.cnblogs.com/tufeixiaopengyou/p/14385389.html