โมดูลนี้มีอินเทอร์เฟซมาตรฐานเพื่อแยกสตริง Uniform Resource Locator (URL) ในส่วนประกอบหรือเพื่อรวมส่วนประกอบกลับเป็นสตริง URL นอกจากนี้ยังมีฟังก์ชันในการแปลง "URL สัมพัทธ์" เป็น URL แบบสัมบูรณ์ที่กำหนดเป็น "URL พื้นฐาน"
โมดูลนี้สนับสนุนรูปแบบ URL ต่อไปนี้ -
- ไฟล์
- ftp
- โกเฟอร์
- hdl
- http
- https
- อิมเมจ
- mailto
- มม
- ข่าว
- nntp
- รุ่งเรือง
- rsync
- rtsp
- rtspu
- sftp
- shttp
- จิบ
- จิบ
- ข่าว
- svn
- svn+ssh
- เทลเน็ต
- ไหว
- ws
- wss
urlparse()
ฟังก์ชันนี้แยกวิเคราะห์ URL ออกเป็นหกองค์ประกอบ โดยส่งคืน 6-tuple ซึ่งสอดคล้องกับโครงสร้างทั่วไปของ URL ทูเพิลแต่ละรายการเป็นสตริง ส่วนประกอบจะไม่ถูกแยกเป็นส่วนเล็กๆ (เช่น ตำแหน่งเครือข่ายเป็นสตริงเดียว) และ % Escapes จะไม่ถูกขยาย ค่าที่ส่งคืนคืออินสแตนซ์ของคลาสย่อยของ tuple ที่ประกอบด้วยแอตทริบิวต์ต่อไปนี้:
แอตทริบิวต์ | ดัชนี | ค่า | ค่าถ้าไม่มี |
---|---|---|---|
แบบแผน | 0 | ตัวระบุรูปแบบ URL | พารามิเตอร์ของแผน |
netloc | 1 | ส่วนตำแหน่งเครือข่าย | พารามิเตอร์ของแผน |
เส้นทาง | 2 | พาธแบบลำดับชั้น | สตริงว่าง |
พารามิเตอร์ | 3 | พารามิเตอร์สำหรับองค์ประกอบพาธสุดท้าย | สตริงว่าง |
แบบสอบถาม | 4 | องค์ประกอบแบบสอบถาม | สตริงว่าง |
แฟรกเมนต์ | 5 | ตัวระบุแฟรกเมนต์ | สตริงว่าง |
ชื่อผู้ใช้ | | ชื่อผู้ใช้ | ไม่มี |
รหัสผ่าน | | รหัสผ่าน | ไม่มี |
ชื่อโฮสต์ | | ชื่อโฮสต์ (ตัวพิมพ์เล็ก) | ไม่มี |
พอร์ต | | หมายเลขพอร์ตเป็นจำนวนเต็ม ถ้ามี | ไม่มี |
ตัวอย่าง
>>> from 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', path = '/mail/u/0/', params = '', query = 'tab = rm', fragment = 'inbox')
urlunparse(ส่วน)
ฟังก์ชันนี้สร้าง URL จากทูเพิลที่ส่งคืนโดย urlparse() อาร์กิวเมนต์ชิ้นส่วนสามารถทำซ้ำได้ 6 รายการ
>>> from 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-tuple:(รูปแบบที่อยู่, ตำแหน่งเครือข่าย, เส้นทาง, แบบสอบถาม, ตัวระบุส่วนย่อย)
>>> from urllib.parse import urlsplit >>> urlsplit(url) SplitResult(scheme = 'https', netloc = 'mail.google.com', path = '/mail/u/0/', query = 'tab = rm', fragment = 'inbox')
urlunsplit(parts)
ฟังก์ชันนี้รวมองค์ประกอบของทูเพิลที่ส่งคืนโดย urlsplit() ลงใน URL ที่สมบูรณ์เป็นสตริง
ฟังก์ชันการอ้างอิง URL เน้นที่การนำข้อมูลโปรแกรมมาใช้และทำให้ปลอดภัยสำหรับใช้เป็นส่วนประกอบของ URL โดยการอ้างอิงอักขระพิเศษและเข้ารหัสข้อความที่ไม่ใช่ ASCII อย่างเหมาะสม
quote()
ฟังก์ชันนี้แทนที่อักขระพิเศษในสตริงโดยใช้อักขระหลีก %xx ตัวอักษร ตัวเลข และอักขระ '_.-~' จะไม่ถูกยกมา
>>> from urllib.parse import quote >>> q = quote(url) 'https%3A//mail.google.com/mail/u/0/%3Ftab%3Drm%23inbox' quote_plus():
เช่นเดียวกับเครื่องหมายคำพูด () แต่ยังแทนที่ช่องว่างด้วยเครื่องหมายบวก ตามที่จำเป็นสำหรับการอ้างอิงค่าแบบฟอร์ม HTML เมื่อสร้างสตริงการสืบค้นเพื่อไปยัง URL
unquote()
ฟังก์ชันนี้จะแทนที่ %xx Escapes ด้วยอักขระเดียวที่เทียบเท่า
>>> from urllib.parse import unquote >>> unquote(q) 'https://mail.google.com/mail/u/0/?tab = rm#inbox'
urlencode()
ฟังก์ชันนี้จะแปลงอ็อบเจ็กต์การแมปหรือลำดับของทูเพิลสององค์ประกอบ เป็นสตริงข้อความ ASCII ที่เข้ารหัสแบบเปอร์เซ็นต์ สตริงผลลัพธ์คือชุดของคู่คีย์ =ค่าที่คั่นด้วยอักขระ '&'
>>> from urllib.parse import urlencode >>> qry = {"name":"Rajeev", "salary":20000} >>> urlencode(qry) 'name = Rajeev&salary = 20000'