AttributeError: 모듈 Urllib에 속성 요청이 없습니다.
-
Python에서
AttributeError: module 'urllib'에 'request' 속성이 없습니다.
-
Python에서
AttributeError: module 'urllib'에 'request' 속성이 없습니다.
수정
Python의 urllib.request
는 독립적인 모듈이므로 urllib
는 이 상황에서 구현할 수 없습니다. 모듈에 여러 하위 모듈이 있는 경우 각각을 개별적으로 로드하면 비용이 많이 들고 프로그램과 관련 없는 항목에 문제가 발생할 수 있습니다.
Python은 가져오기를 사용하는 모듈이 가져오기를 자체적으로 사용하여 객체의 일부로 만들기 때문에 가져오기를 캐시합니다.
Python에서 AttributeError: module 'urllib'에 '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'에 '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
는 모두 성공합니다.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.