상세 설명 python 내장 모듈 urllib

urllib 는 python 의 내장 모듈 로 url 과 관련 된 일부 작업 을 처리 하 는 데 사 용 됩 니 다.예 를 들 어 url 방문,url 분석 등 작업 입 니 다.

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.parseqs
parse_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.unquote
unquote 는 quote 의 역방향 과정 으로 URL 디 코딩 이 라 고 부 르 며 디 코딩 은 개발 자가 읽 기 에 편리 합 니 다.

>>> parse.unquote("q%3D%E4%B8%AD")
'q= '
이상 은 python 내장 모듈 urllib 의 상세 한 내용 입 니 다.python 내장 모듈 urllib 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기