Python3中urllib请求网页报错(AttributeError: module ‘urllib‘ has no attribute ‘request‘)

报错代码

python3.8,想用urllib库请求访问贴吧,报错代码如下:


def load_page(url,filename):
    headers = {"User-Agent":"Mozilla/5.0(compatible;MSIE 9.0;Windows NT 6.1;Trident/5.0;)"}
    request = urllib.request.Request(url,headers=headers)
    return urllib.request.urlopen(request).read()

报错信息:看到两个request亮着,说明有问题

 

运行后的报错

Python3中urllib请求网页报错(AttributeError: module ‘urllib‘ has no attribute ‘request‘)_第1张图片

报错内容翻译:

属性错误:模块urllib模块没有属性request

报错原因:

Python中出现AttributeError的错误主要有两类原因:

  • 1. 没有引入对应正确的包
  • 2. 工程目录中存在同名文件

我的代码报错具体原因:查了一下资料是 python3 的 urllib 不会自动导入其under层的包,需要手动导入。

解决方法:

在Python3中手动导入request包,import urllib.request就解决错误,修改代码:

import urllib.parse
import urllib.request


def load_page(url,filename):
    headers = {"User-Agent":"Mozilla/5.0(compatible;MSIE 9.0;Windows NT 6.1;Trident/5.0;)"}
    request = urllib.request.Request(url,headers=headers)
    return urllib.request.urlopen(request).read()

之前亮着的两个request消失了

 运行成功:

Python3中urllib请求网页报错(AttributeError: module ‘urllib‘ has no attribute ‘request‘)_第2张图片

 

 

你可能感兴趣的:(python,http,servlet)