티스토리 뷰
프로그래밍/Python
[Python] Query String to Dictionary - URL 파라미터를 Dict로 만드는 법
알 수 없는 사용자 2022. 3. 10. 05:13728x90
반응형
단순히 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
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[django] django templatetag date 날짜형식 맞춰넣기 (0) | 2022.04.19 |
---|---|
[오류해결] ModuleNotFoundError: No module named 'pwd' (0) | 2022.04.17 |
[Python] 파이썬으로 이미지 합치기/추가하기/워터마크 넣기 (0) | 2022.02.09 |
[mongoDB] pymongo 3.7 버전부터 collection.count()가 안된다!!! (0) | 2022.02.08 |
[Django] django.db.utils.OperationalError: near "[]": syntax error 오류해결 (0) | 2022.01.28 |
댓글