Response.read Response.test Response.content

一。各自的意思

须知:编码是将字符串转换为字节数组的过程,解码是将字节数组转换成字符串的过程。

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()

                                  

猜你喜欢

转载自blog.csdn.net/qq_35810838/article/details/84675526