aoopp11 发表于 2025-3-11 10:19:24

爬取豆瓣250 显示的都是乱码

在python中 爬取豆瓣250信息 打印出的都是乱码的

FishC 发表于 2025-3-11 10:19:36

出现乱码的原因通常是因为网页的编码格式和 Python 解析时的编码格式不匹配。豆瓣的网页通常使用 `utf-8` 编码,因此你可以尝试以下方法解决乱码问题:

解决方案


[*] 在获取网页内容后,手动指定编码格式:
response.encoding = 'utf-8'

[*] 如果 `response.text` 仍然乱码,可以尝试使用 `response.content` 并手动解码:
html = response.content.decode('utf-8', errors='ignore')

[*] 确保 `requests` 发送的请求头包含正确的 `User-Agent`,否则可能会被豆瓣屏蔽:

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
response = requests.get(url, headers=headers)



如果问题仍然存在,可以尝试打印 `response.apparent_encoding`,看看 Python 解析出的编码格式是否正确:
print(response.apparent_encoding)

这样可以确保你正确获取并解析了豆瓣 250 的网页内容。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

gainer 发表于 2025-3-14 08:30:39

手动用浏览器打开网页,然后按F12
能得到如下内容:
<!DOCTYPE html>
<html lang="zh-CN" class="ua-windows ua-webkit">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="renderer" content="webkit">
    <meta name="referrer" content="always">
    <meta name="google-site-verification" content="ok0wCgT20tBBgo9_zat2iAcimtN4Ftf5ccsh092Xeyw" />
    <title>

注意其中的 charset=utf-8

西西咕 发表于 2025-3-14 19:56:39

编码不对,设置encoding
页: [1]
查看完整版本: 爬取豆瓣250 显示的都是乱码