问答详情
源自:3-1 urllib基本用法

resp=request.urlopen(req)这段代码为什么要运行两次?只运行一次为什么会出问题?

运行一次出错的情况:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte


提问者:宇宙为什么黑漆漆 2017-07-27 16:50

个回答

  • shanshan591
    2017-07-27 17:34:47

    运行一次也会出问题吧,这是编码问题,print这个函数有限制,代码:

    import io

    import sys

    import urllib.request

    sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding=’gb18030’)

    res=urllib.request.urlopen(“http://www.baidu.com”)

    print(res.read().decode(‘utf-8’)