Python 中错误 AttributeError: Module Urllib Has No Attribute Request
由于Python中的urllib.request是一个独立的模块,因此这种情况下urllib无法实现。 如果一个模块有多个子模块,单独加载每个子模块可能会很昂贵,并且会导致与程序无关的项目出现问题。
Python 将缓存导入,因为您正在使用导入的模块供其自身使用,使其成为对象的一部分。
Python 中 AttributeError:module 'urllib' has no attribute 'request'
当您尝试通过导入 URL 库打开 URL 链接时,此错误是 Python 中的常见异常。 为了理解这个错误,我们举个例子。
代码示例:
import urllib
request = urllib.request.Request("http://www.python.org")
输出:
AttributeError: module 'urllib' has no attribute 'request'
使用此类包时,您有时可能会导入所需的模块。 urllib 模块不必仅仅因为您只需要任何 url 的一小部分而加载所有内容。
导入url正在访问整个库; 这就是为什么它显示错误。
修复 Python 中的 AttributeError: module 'urllib' has no attribute 'request'
您可以导入 import urllib.request as urllib
或以其他方式使用 import urllib.request urllib.request.urlopen('http://www.python.org',timeout=1)
。
import urllib.request
with urllib.request.urlopen("http://www.python.org") as url:
s = url.read()
print(s)
输出:
<!doctype html>
<head>
<meta charset="utf-8">
'
'
'
'
from urllib.request import Request, urlopen
def get_page_content(url, head):
req = Request(url, headers=head)
return urlopen(req)
url = 'https://example.com'
head = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding': 'none',
'Accept-Language': 'en-US,en;q=0.8',
'Connection': 'keep-alive',
'refere': 'https://example.com',
'cookie': """your cookie value ( you can get that from your web page) """
}
data = get_page_content(url, head).read()
print(data)
输出:
<!doctype html>\n<html>\n<head>\n <title>Example Domain</title>\n\n <meta charset="utf-8" />\n
'
'
'
href="https://www.iana.org/domains/example">More information...</a></p>\n</div>\n</body>\n</html>\n'
您应该从父模块 urllib 导入子模块请求,而不是完全导入 urllib 模块,然后尝试将其子模块请求作为属性访问。
import urllib print(urllib.request)
不起作用,但 from urllib import request print(request)
和 import urllib.request
都成功。
相关文章
Python 错误 ValueError: Cannot Convert Float NaN to Integer
发布时间:2023/05/31 浏览次数:116 分类:Python
-
本篇文章将介绍如何修复 ValueError: cannot convert float NaN to integer 。使用 fillna() 方法修复python错误 ValueError: cannot convert float NaN to integer
修复 Python 错误TypeError: Missing 1 Required Positional Argument
发布时间:2023/05/31 浏览次数:152 分类:Python
-
本篇文章将讨论 Python 中的 TypeError: missing 1 required positional argument: 'self' 错误以及我们如何解决它。让我们讨论引发此错误的情况。不在 Python 中实例化对象
Python 错误 OverflowError: Python Int Too Large to Convert to C Long
发布时间:2023/05/31 浏览次数:198 分类:Python
-
本篇文章将介绍 Python 中的 OverflowError: python int too large to convert to c long 错误。当算术结果超出数据类型的给定限制时,Python 中会引发 OverflowError。
Python 错误 UnicodeDecodeError: ASCII Codec Can't Decode Byte in Position: Ordi
发布时间:2023/05/31 浏览次数:105 分类:Python
-
在本文中,我们将学习如何解决在代码执行期间发生的 UnicodeDecodeError。 我们将查看导致此错误的不同原因。
Python 错误 NameError: Name Execfile Is Not Defined
发布时间:2023/05/31 浏览次数:88 分类:Python
-
本篇文章介绍了 NameError: name execfile is not defined、其原因以及在 Python 3 中解决此错误的方法。
Python 错误 IndentationError: Unindent Does Not Match Any Outer Indentation Lev
发布时间:2023/05/31 浏览次数:52 分类:Python
-
我们还将找到在 Python 中解决此错误的方法。 让我们从 Python 中的 IndentationError 开始。Python 中的缩进规则
Python 错误 ImportError: No Module Named Requests
发布时间:2023/05/31 浏览次数:136 分类:Python
-
错误 ImportError: No module named requests 意味着 Python 解释器无法导入 requests 模块。本篇文章展示了修复Python中 ImportError: No module named requests 错误的方法。
修复 Python 错误 SyntaxError: Invalid Token
发布时间:2023/05/30 浏览次数:103 分类:Python
-
在本文中,我们将了解什么是 SyntaxError: invalid token Python 错误以及如何修复它。 令牌是语句的重要组成部分,组合这些令牌可为 Python 编译器提供有意义的模式。
修复 Python 错误 SyntaxError: 'break' Outside Loop
发布时间:2023/05/30 浏览次数:101 分类:Python
-
本篇文章将讨论 Python 的 SyntaxError: 'break' outside loop 错误。循环和条件语句是任何编程语言不可或缺的一部分。修复 Python 中的 SyntaxError: 'break' outside loop 错误