urlparse
GET 요청으로 보낼 경우에 데이터가 url 필드에 들어가게 된다. 따라서, 서버측에서는 들어온 url을 파싱하는 작업이 필요하다. 파싱할 때 사용할 수 있는 urlparse를 이해해보자.
urlparse 실행방법
1. from urllib.parse import urlparse 를 통해 모듈을 가져온다.
2. 사용할 url을 지정한다.
주소창에 있는 url을 하나 가져와보자. 구글에서 urlparse를 검색하고 난 주소는 다음과 같다.
3. urlparse(url)을 실행한다. 다음과 같은 결과가 나온다.
ParseResult(scheme='https', netloc='www.google.com', path='/search', params='', query='urlparse&oq=urlparse&aqs=chrome..69i57j0l7.1277j0j7&sourceid=chrome&ie=UTF-8', fragment='')
따라서 urlparse의 결과를 이용하면 주소에서 원하는 부분의 값들을 바로 사용할 수 있게 된다.
url의 query부분 파싱 예제
urlparse 결과 중에 query부분을 사용할 경우가 많이 있다. 그 이유는 글 첫 부분에 설명했다. query를 살펴보면 key=value 형태가 &로 연결되어 있음을 알 수 있다. 이를 마저 파싱해서 query에 해당하는 key: value로 이루어진 dictionary를 만들어보고자 한다.
1.url 저장
2. url의 query부분 저장
query = urlparse(url).query
3. query를 &를 기준으로 나누기 ['oq=urlparse', 'aqs='chrome', ... ] 형태로 됨.
pair = [p for p in query.split('&')]
4. [['oq','urlparse'], ['aqs','chrome'],.. ] 형태로 저장
key_value_pair = [x.split('=') for x in pair]
5.{'oq': 'urlparse', 'aqs': 'chorme', ...} 형태로 저장
param_dict = dict(key_value_pair)