Python - การสร้าง URL

โมดูลการร้องขอสามารถช่วยเราสร้าง URLS และจัดการค่า URL แบบไดนามิก ไดเรกทอรีย่อยใด ๆ ของ URL สามารถดึงข้อมูลทางโปรแกรมได้จากนั้นบางส่วนสามารถแทนที่ด้วยค่าใหม่เพื่อสร้าง URL ใหม่

Build_URL

ตัวอย่างด้านล่างใช้ urljoinเพื่อดึงโฟลเดอร์ย่อยต่างๆในเส้นทาง URL เมธอด urljoin ใช้เพื่อเพิ่มค่าใหม่ให้กับ URL พื้นฐาน

from requests.compat import urljoin
base='https://stackoverflow.com/questions/3764291'
print urljoin(base,'.')
print urljoin(base,'..')
print urljoin(base,'...')
print urljoin(base,'/3764299/')
url_query = urljoin(base,'?vers=1.0')
print url_query
url_sec = urljoin(url_query,'#section-5.4')
print url_sec

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

https://stackoverflow.com/questions/
https://stackoverflow.com/
https://stackoverflow.com/questions/...
https://stackoverflow.com/3764299/
https://stackoverflow.com/questions/3764291?vers=1.0
https://stackoverflow.com/questions/3764291?vers=1.0#section-5.4

แยก URLS

นอกจากนี้ URL ยังสามารถแบ่งออกเป็นหลายส่วนนอกเหนือจากที่อยู่หลัก พารามิเตอร์เพิ่มเติมที่ใช้สำหรับข้อความค้นหาหรือแท็กเฉพาะที่แนบมากับ URL จะถูกคั่นด้วยวิธี urlparse ดังที่แสดงด้านล่าง

from requests.compat import urlparse
url1 = 'https://docs.python.org/2/py-modindex.html#cap-f'
url2='https://docs.python.org/2/search.html?q=urlparse'
print urlparse(url1)
print urlparse(url2)

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

ParseResult(scheme='https', netloc='docs.python.org', path='/2/py-modindex.html', params='', query='', fragment='cap-f')
ParseResult(scheme='https', netloc='docs.python.org', path='/2/search.html', params='', query='q=urlparse', fragment='')