티스토리 뷰

728x90
반응형

단순히 URL 파라미터(query string)만 dictionary 포맷으로 만드는 법은 아래와 같습니다.

from urllib.parse import parse_qsl

query_string = 'isHttpsRedirect=true&blogId=domdomi&logNo=123456&parentCategoryNo=&categoryNo=12&viewDate=&isShowPopularPosts=false&from=postView'
parsed = dict(parse_qsl(query_string))
print(parsed)

'''
{'isHttpsRedirect': 'true', 'blogId': 'domdomi', 'logNo': '123456', 'categoryNo': '12', 'isShowPopularPosts': 'false', 'from': 'postView'}
'''

 

URL 전체 중 query string 에 해당되는 부분을 파싱해와서 dictionary 포맷으로 만드는 방법은 아래와 같습니다.

from urllib.parse import urlsplit, parse_qsl

url = 'https://domdom.tistory.com/?isHttpsRedirect=true&blogId=domdomi&logNo=123456&parentCategoryNo=&categoryNo=12&viewDate=&isShowPopularPosts=false&from=postView'
query_string = urlsplit(url).query
parsed = dict(parse_qsl(query_string))
print(parsed)

'''
{'isHttpsRedirect': 'true', 'blogId': 'domdomi', 'logNo': '123456', 'categoryNo': '12', 'isShowPopularPosts': 'false', 'from': 'postView'}
'''

 

반대로 dictionary 타입을 query string으로 만드는 방법은 아래와 같습니다.

from urllib.parse import urlencode

dict_parsed = {'isHttpsRedirect': 'true', 'blogId': 'domdomi', 'logNo': '123456', 'categoryNo': '12', 'isShowPopularPosts': 'false', 'from': 'postView'}
query_string = urlencode(dict_parsed)
print(query_string)

'''
'isHttpsRedirect=true&blogId=domdomi&logNo=123456&categoryNo=12&isShowPopularPosts=false&from=postView'
'''

 

그리고 아래는 javascript 로 구현한 query string to dict/json 예시입니다.

직접 내용을 변경해서 테스트해볼 수 있게 만들어두었습니다.

QueryString
Dict

728x90
반응형
댓글