py3报错UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 1134: invalid start byte

import urllib.request
import urllib.parse

url = "https://www.csdn.net/"
headers = {
# "User-Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 10.0; WOW64; Trident/7.0; LCTE)",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",

}
# 创建一个handler
handler = urllib.request.HTTPHandler()
# 通过handler创建一个opener
opener = urllib.request.build_opener(handler)
# 构建请求对象
request = urllib.request.Request(url, headers=headers)
response = opener.open(request)
print(response.read().decode())
# "utf8", "ignore"

刚开始自己把url改成自己学校的官网,但是就报以下的错误,一开始以为是自己头部的问题,导致没有办法访问,数据输出的时候乱码了,后面改了一下UA,没有效果
在这里插入图片描述
解决办法应该是:可以在print(response.read().decode("utf8", "ignore"))加上代码,就可以解决报错
在这里插入图片描述
但是后面尝试换csdn的网页,就没事了,个人觉得是校园的官网有一定的防火墙等问题,导致代码的报错

猜你喜欢

转载自blog.csdn.net/weixin_37411471/article/details/89011242