数据乱码大多来自于编码格式不支持中文显示,解决方式主要有如下两个:
1.设置对响应对象的编码格式
response = request.get(url=uel,headers=headers)
response.encoding = "utf-8" #设置响应对象的编码方式为utf-8
text = response.text #获取网页源码,以文本形式显示
2.设置爬取到的数据编码格式及解码格式
lists = tree.xpath("//div[@class='slist']/li")
for list in lists:
img_src = list.xpath(./a/img/@src)[0] #获取图片链接地址
img_name = list.xpath(./a/img/@alt)[0] #获取图片名称
img_name = img_name.encode("iso-8859-1").decode("gbk") #将图片名称以iso形式编码再以gbk形式解码