python3爬虫urllib.request.urlopen("网址").read() 本来是utf-8,为什么还要加上urlencode(“utf-8”)

2025-04-08 22:05:30
推荐回答(1个)
回答1:

你这行代码是不需要urlencode()的。

对于返回的request对象,其read()()方法获得的其实是一个字节流对象,而非字符串对象,所以这时需要调用该字节流对象的decode()方法,按指定编码方式进行解码。
至于urlencode(),这是urllib中的一个函数,它的作用是将字符串进行url编码。这个编码其实就是个转义的过程,将那些因可能造成解释器误会或安全问题而不适合出现在请求中的符号进行转义,并且把超出url编码表的字符降维。