Python爬虫输出中文乱码解决方案:编码设置与头部信息

如果您的Python爬虫输出结果中文是乱码,可能是因为编码不匹配导致的。您可以尝试以下两种方法来解决这个问题:

1. 设置输出流编码为UTF-8

在爬虫代码中添加以下语句,将输出流的编码设置为utf-8,可以保证中文字符正常显示:

import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

2. 在请求头部信息中指定Content-Type

如果要保证输出的是HTML的中文,您可以在爬虫代码中设置请求头部,指定编码方式。例如:

import requests

url = 'https://www.example.com'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Accept-Encoding': 'gzip, deflate, br',
    'Content-Type': 'text/html;charset=UTF-8',
}
response = requests.get(url, headers=headers)
html = response.content.decode('utf-8')

在请求头部中设置Content-Type为text/html;charset=UTF-8,可以保证获取的HTML内容编码为UTF-8,可以正常显示中文字符。

通过以上两种方法,您可以有效解决Python爬虫输出中文乱码的问题,确保爬取到的数据可以正常显示中文内容。

Python爬虫输出中文乱码解决方案:编码设置与头部信息

原文地址: https://www.cveoy.top/t/topic/oiQ1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录