SU2终极实战手册:从入门到精通的CFD仿真全流程
2026/1/16 3:30:45
r.encoding = r.apparent_encoding是 Python 爬虫中解决网页乱码的核心操作(r通常是requests请求返回的响应对象),尤其在爬取中文网站(如政府官网、行业平台、老旧站点等)时,能有效避免爬取的内容出现“乱码”“方块字”等问题。这行代码的核心目的是:让响应内容使用“真实的字符编码”解码,而非网站声明的编码,最终保证爬取的中文内容正常显示,不会乱码。
encoding和apparent_encoding的区别要理解这行代码,先搞懂响应对象的两个关键属性:
| 属性 | 含义 | 可能的问题 |
|---|---|---|
r.encoding | 网站声明的编码(从响应头Content-Type中提取,比如Content-Type: text/html; charset=utf-8) | 很多网站会“声明错误的编码”(比如实际是gb2312,却声明utf-8),直接用这个编码解码会导致乱码 |
r.apparent_encoding | requests 基于响应内容本身分析出的“真实编码”(比如通过字符的字节特征判断是gb2312还是 |