상세 설명 python 내장 모듈 urllib
urllib 가방 아래 의
request
모듈 은 주로 url 에 접근 하 는 데 사용 되 지만 너무 많이 사용 합 니 다.빛 이 모두 requests
이 제3자 라 이브 러 리 로 덮 여 있 기 때문에 가장 자주 사용 하 는 것 은parse
모듈 입 니 다.파충 류 를 쓰 는 과정 에서 url 에 대해 매개 변수의 조합,인 코딩,디 코딩,도 메 인 이름,자원 경로 추출 등 을 자주 해 야 한다.이때 4.567914.모듈 은 사용 할 수 있다.urlparse
4.567914.방법 은 하나의 완전한 URL 을 서로 다른 구성 부분 으로 나 누 는 것 이다.당신 은 자신의 수요 에 따라 그 중의 특정한 내용 을 추출 할 수 있다.결 과 를 되 돌려 주 는 ParseResult 는 namedtuple 의 하위 클래스 로 다음 10 부분 으로 구성 되 어 있 으 며,각 부분 은 이름 으로 도 얻 을 수 있 고 다음 표 색인 을 통 해 도 얻 을 수 있 습 니 다.
>>> from urllib import parse
>>> url = 'https://mp.weixin.qq.com/s?__biz=MjM5MzgyODQxMQ==&mid=2650366919&idx=1&sn=1b36a9f2c0921cdeac52942ec591a923#rd'
>>> result = parse.urlparse(url)
# ParseResult
>>> print(result)
ParseResult(scheme='https', netloc='mp.weixin.qq.com', path='/s', params='', query='__biz=MjM5MzgyODQxMQ==&mid=2650366919&idx=1&sn=1b36a9f2c0921cdeac52942ec591a923', fragment='rd')
#
>>> result[0]
'https'
#
>>> result.scheme
'https'
# url
>>> result.path
'/s'
#
>>> result.query
'__biz=MjM5MzgyODQxMQ==&mid=2650366919&idx=1&sn=1b36a9f2c0921cdeac52942ec591a923'
#
>>> result.hostname
'mp.weixin.qq.com'
2.parseqsparse_qs 방법 은 검색 매개 변수 라 는 부분 을 문자열 에서 사전 대상 으로 변환 하 는 것 입 니 다.
>>> parse.parse_qs(result.query)
{'__biz': ['MjM5MzgyODQxMQ=='], 'mid': ['2650366919'], 'idx': ['1'], 'sn': ['1b36a9f2c0921cdeac52942ec591a923']}
>>>
매개 매개 매개 변수 이름 은 하나의 목록 대상 에 대응 합 니 다.이것 은 url 규범 에서 하나의 매개 변수 이름 은 여러 개의 값 을 가 질 수 있 기 때 문 입 니 다.예 를 들 어 a=1&a=2 는 실제 응용 장면 에서 보통 하나의 매개 변수 이름 은 하나의 값 만 대응 하기 때 문 입 니 다.목록 을 문자열 로 바 꿀 수 있 는 코드 를 사용 할 수 있 습 니 다.
>>> {name: value[0] for name, value in parse.parse_qs(result.query).items()}
{'__biz': 'MjM5MzgyODQxMQ==', 'mid': '2650366919', 'idx': '1', 'sn': '1b36a9f2c0921cdeac52942ec591a923'}
3.urlencode반대로 사전 대상 을 url 의 조회 매개 변수 로 바 꾸 려 면 urlencode 방법 을 사용 할 수 있 습 니 다.
>>> d = {'__biz': 'MjM5MzgyODQxMQ==', 'mid': '2650366919', 'idx': '1'}
>>> parse.urlencode(d)
'__biz=MjM5MzgyODQxMQ%3D%3D&mid=2650366919&idx=1'
인용URL 의 표준 규범 에서 url 은 숫자,자모 와 일부 특수 기호 만 존재 할 수 있 습 니 다.중국어 와 일부 특수 기호 가 있 으 면 UTF-8 을 사용 하여 인 코딩 을 해 야 합 니 다.예 를 들 어[중]UTF-8 인 코딩 의 결 과 는 다음 과 같 습 니 다.
>>> " ".encode()
b'\xe4\xb8\xad'
그러면 브 라 우 저 는 실제로[중]을%e4%b8%ad 로 변환 합 니 다.python 에서
parse
방법 으로 URL 인 코딩 을 할 수 있 고 특수 기호 에 대해 서도 해당 하 는 16 진수 기호 로 할 수 있 습 니 다.예 를 들 어[=]는%3D 로 변환 되 었 습 니 다.
>>> parse.quote("q= ")
'q%3D%E4%B8%AD'
>>>
urlparse
빈 칸 을'+'로 인 코딩 할 수 있 습 니 다.
>>> parse.quote_plus("a b")
'a+b'
>>> parse.quote("a b")
'a%20b'
5.unquoteunquote 는 quote 의 역방향 과정 으로 URL 디 코딩 이 라 고 부 르 며 디 코딩 은 개발 자가 읽 기 에 편리 합 니 다.
>>> parse.unquote("q%3D%E4%B8%AD")
'q= '
이상 은 python 내장 모듈 urllib 의 상세 한 내용 입 니 다.python 내장 모듈 urllib 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.