Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

urllib.parse — Python에서 URL을 구성 요소로 구문 분석

<시간/>

이 모듈은 구성 요소에서 URL(Uniform Resource Locator) 문자열을 끊거나 구성 요소를 다시 URL 문자열로 결합하는 표준 인터페이스를 제공합니다. "상대 URL"을 "기본 URL"이 지정된 절대 URL로 변환하는 기능도 있습니다.

이 모듈은 다음 URL 구성표를 지원합니다. -

  • 파일
  • ftp
  • 고퍼
  • hdl
  • http
  • https
  • 이맵
  • 메일로
  • 뉴스
  • ntp
  • 번영
  • 동기화
  • rtsp
  • rtspu
  • ftp
  • http
  • 한 모금
  • 한 모금
  • 뉴스
  • svn
  • svn+ssh
  • 텔넷
  • 와이

urlparse()

이 함수는 URL을 6개의 구성 요소로 구문 분석하여 6-튜플을 반환합니다. 이는 URL의 일반적인 구조에 해당합니다. 각 튜플 항목은 문자열입니다. 구성 요소는 더 작은 부분으로 분할되지 않으며(예:네트워크 위치가 단일 문자열임) % 이스케이프는 확장되지 않습니다. 반환 값은 다음 속성으로 구성된 튜플의 하위 클래스 인스턴스입니다.

속성 색인 없는 경우 값
구성표 0 URL 스키마 지정자 구성 매개변수
netloc 1 네트워크 위치 부분 구성 매개변수
경로 2 계층 경로 빈 문자열
매개변수 3 마지막 경로 요소의 매개변수 빈 문자열
쿼리 4 쿼리 구성 요소 빈 문자열
조각 5 조각 식별자 빈 문자열
사용자 이름
사용자 이름 없음
비밀번호
비밀번호 없음
호스트 이름
호스트 이름(소문자) 없음
포트
포트 번호가 있는 경우 정수로 없음

>>> urllib.parse import urlparse>>> url ='https://mail.google.com/mail/u/0/?tab =rm#inbox'>>> t =urlparse(url) ParseResult(scheme ='https', netloc ='mail.google.com', 경로 ='/mail/u/0/', params ='', 쿼리 ='탭 =rm', 조각 ='받은 편지함') 

urlunparse(부분)

이 함수는 urlparse()에 의해 반환된 튜플에서 URL을 구성합니다. Parts 인수는 6개 항목으로 반복할 수 있습니다.

>>> urllib.parse import urlunparse>>> urlunparse(t)'https://mail.google.com/mail/u/0/?tab =rm#inbox'urlsplit(urlstring, scheme =' ', allow_fragments =True):

이것은 urlparse()와 유사하지만 URL에서 매개변수를 분할하지 않습니다. 이 함수는 5-튜플(주소 지정 체계, 네트워크 위치, 경로, 쿼리, 조각 식별자)을 반환합니다.

>>> urllib.parse import urlsplit>>> urlsplit(url)SplitResult(scheme ='https', netloc ='mail.google.com', 경로 ='/mail/u/0/', 쿼리 ='탭 =rm', 조각 ='받은 편지함')

urlunsplit(부분)

이 함수는 urlsplit()에 의해 반환된 튜플의 요소를 문자열로 완전한 URL로 결합합니다.

URL 인용 기능은 프로그램 데이터를 가져오고 특수 문자를 인용하고 비 ASCII 텍스트를 적절하게 인코딩하여 URL 구성 요소로 안전하게 사용할 수 있도록 하는 데 중점을 둡니다.

따옴표()

이 함수는 %xx 이스케이프를 사용하여 문자열의 특수 문자를 대체합니다. 문자, 숫자 및 '_.-~' 문자는 인용되지 않습니다.

>>> urllib.parse 가져오기 인용문>>> q =quote(url)'https%3A//mail.google.com/mail/u/0/%3Ftab%3Drm%23inbox'quote_plus():

quote()와 유사하지만 URL에 들어갈 쿼리 문자열을 작성할 때 HTML 양식 값을 인용하는 데 필요한 만큼 공백을 더하기 기호로 교체합니다.

따옴표()

이 함수는 %xx 이스케이프를 동일한 단일 문자로 대체합니다.

>>> urllib.parse import unquote>>> unquote(q)'https://mail.google.com/mail/u/0/?tab =rm#inbox'

urlencode()

이 함수는 매핑 개체 또는 두 요소 튜플 시퀀스를 백분율로 인코딩된 ASCII 텍스트 문자열로 변환합니다. 결과 문자열은 '&' 문자로 구분된 일련의 키 =값 쌍입니다.

>>> urllib.parse import urlencode>>> qry ={"name":"Rajeev", "salary":20000}>>> urlencode(qry)'name =Rajeev&salary =20000'