Nếu bạn không muốn sử dụng trình phân tích cú pháp:
url = "http://www.example.org/default.html?ct=32&op=92&item=98"
url = url.split("?")[1]
dict = {x[0] : x[1] for x in [x.split("=") for x in url[1:].split("&") ]}
Vì vậy, tôi sẽ không xóa những gì ở trên nhưng nó chắc chắn không phải là những gì bạn nên sử dụng.
Tôi nghĩ rằng tôi đã đọc một vài câu trả lời và chúng trông hơi phức tạp, trong trường hợp bạn giống như tôi, đừng sử dụng giải pháp của tôi.
Dùng cái này:
from urllib import parse
params = dict(parse.parse_qsl(parse.urlsplit(url).query))
và cho Python 2.X
import urlparse as parse
params = dict(parse.parse_qsl(parse.urlsplit(url).query))
Tôi biết câu trả lời này giống với câu trả lời được chấp nhận, chỉ trong một lớp lót có thể được sao chép.
urllib.parse_qs
cũng trả về danh sách cho các giá trị. Tôi đặc biệt đề cập đến điều này trong câu trả lời của mình, nhân tiện, bạn có thể muốn sử dụngurllib.parse_qsl()
thay thế và bỏ qua danh sách kết quảdict()
nếu bạn chỉ muốn các giá trị đơn lẻ.