當我們要從 URL 中獲取參數時,
我們可以使用 urlparse 函數來解析 URL,
並使用 parse_qs 函數來解析查詢參數。
假設有以下 URL:http://example.com/?name=John&age=30&gender=male
示範如何使用 urlparse 和 parse_qs:
# -*- coding: utf-8 -*-
"""
Created on Tue Aug 29 20:21:54 2023
@author: SavingKing
"""
from urllib.parse import urlparse, parse_qs
url = "http://example.com/?name=John&age=30&gender=male"
parsed_url = urlparse(url)
query_params = parse_qs(parsed_url.query)
print("Parsed URL:", parsed_url)
print("Query Parameters:", query_params)
print("Name:", query_params['name'][0])
print("Age:", query_params['age'][0])
print("Gender:", query_params['gender'][0])輸出結果:

在這個示範中,我們使用了 urlparse 來解析 URL,
並使用 parse_qs 來解析查詢參數。
注意,parse_qs 返回的是一個字典,
其中鍵是參數名,值是包含參數值的列表。
因此,我們使用 query_params['name'][0] 來獲取名為 name 的參數的值。
可以自己寫出相似的程式:
# -*- coding: utf-8 -*-
"""
Created on Fri Nov 24 23:35:04 2023
@author: SavingKing
"""
url = "http://example.com/?name=John&age=30&gender=male"
strr = url.split("?")[1]
#'name=John&age=30&gender=male'
lis = strr.split("&")
#['name=John', 'age=30', 'gender=male']
dic ={}
for ele in lis:
k,v = ele.split("=")
dic[k]=v
print("dic:\n",dic)執行結果:

推薦hahow線上學習python: https://igrape.net/30afN




![Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2022/09/20220923222039_57.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

![Python: 如何將folder_name, file_name合併為file_path? fpath = os.path .join(folder, fname) ; “\\”.join([folder, fname]) ; 如何將file_path拆分出folder? Python: 如何將folder_name, file_name合併為file_path? fpath = os.path .join(folder, fname) ; “\\”.join([folder, fname]) ; 如何將file_path拆分出folder?](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2023/03/20230330132954_84.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

![Python如何讀取*.jsonl (JSON Lines)? 讀取為List[dict] Python如何讀取*.jsonl (JSON Lines)? 讀取為List[dict]](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2023/10/20231024225613_30.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

近期留言