爬取豆瓣250 显示的都是乱码
在python中 爬取豆瓣250信息 打印出的都是乱码的 出现乱码的原因通常是因为网页的编码格式和 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 小助理,如未能正确解答您的问题,请继续追问。 手动用浏览器打开网页,然后按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
编码不对,设置encoding
页:
[1]