一。各自的意思
须知:编码是将字符串转换为字节数组的过程,解码是将字节数组转换成字符串的过程。
response.read() 返回网页的源码--------->字节数组,并不是字符串。只有识别了网页所有的编码。例如utf8,将字节数组编码的规则进行解码,才能可以获得网页源码的字符串。
response.text() 返回的类型是str 根据HTTP头部对响应的编码做出有根据的推测,推测文本编码
如何修改编码方式:response.encoding = 'gbk'
response.content
返回的类型是bytes
,可以通过decode()
方法将bytes
类型转为str
类型
解码类型:没有指定
如何修改编码方式:response.content.decode('utf8')
推荐使用:response.content.decode()
的方式获取相应的html页面
import urllib.request
def main():
# 需要探查的网址
# 学习论坛
url = "http://www.baidu.com"
# 服务器给的响应
response = urllib.request.urlopen(url)
# 返回一个二进制字符串: b'',无法正常阅读
html = response.read()
# 进行解码操作
code_of_html = html.decode('utf-8')
# 打印查看网页源代码
print(code_of_html)
if __name__ == '__main__':
main()