有乱码存在的代码:
from bs4 import BeautifulSoup
import requests
url = "http://www.weather.com.cn/weather/101040100.shtml"
header = ("User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36")
r = requests.get(url, timeout=20)
# r.encoding='utf-8'
content = r.text.encode("ISO-8859-1") # 就是网页的编码方式,按照上方方法的输出填写就可以
soup = BeautifulSoup(r.text, 'lxml')
print(soup)
乱码:
解决方法就是在代码开头加上:
# -*- coding: utf-8 -*-
加上后如果还是乱码的话,可以检查一下解码的方式:
print(r.encoding)
将这个输出结果复制到r.rtext.encode后边
若依然是乱码:可以尝试另外一种解码方式:
r=requests.get(url,timeout=20)
r.encoding='utf-8'
soup = BeautifulSoup(r.text, 'lxml')
结果如图:
已经没有乱码了,已经解决该问题