Profile picture

[Python] 쿼리 매개변수 수정하기 - urllib.parse

JaehyoJJAng2023년 08월 15일

parse_qs

URL 이나 문자열 데이터에서 특정 부분을 변경할 수 없는 상황이라면 Python의 문자열 메서드를 사용하여
해당 부분을 추출하고 변경한 후에 전체 URL을 조합하는 방법을 사용하면 된다.

urllib.parse 모듈을 사용하여 URL을 구성하고 parse.qs 함수를 사용하여 쿼리 매개변수를 추출하고 수정할 수 있다.


간단한 예시로 parse_qs를 사용하여 page 매개변수 값을 증가시키는 방법은 다음과 같다.

from urllib.parse import urlparse, parse_qs, urlencode

# 주어진 URL
category_url = "https://www.coupang.com/np/categories/195000?listSize=60&brand=&offerCondition=&filterType=&isPriceRange=false&minPrice=&maxPrice=&page=1&channel=user&fromComponent=Y&selectedPlpKeepFilter=&sorter=bestAsc&filter=&component=194900&rating=0"

# URL을 파싱하여 쿼리 매개변수 추출
parsed_url = urlparse(category_url)
query_params = parse_qs(parsed_url.query)

# 페이지 번호 추출 및 증가
if 'page' in query_params:
    page_number = int(query_params['page'][0])  # 현재 페이지 번호
    page_number += 1  # 페이지 번호 증가
    query_params['page'] = [str(page_number)]  # 변경된 페이지 번호로 업데이트

# 변경된 쿼리 매개변수를 URL로 조합
parsed_url = parsed_url._replace(query=urlencode(query_params, doseq=True))
modified_url = parsed_url.geturl()

print(modified_url)  # 변경된 URL 출력

💥 GPT Answer !
이 코드는 주어진 category_url에서 페이지 번호를 증가시키는 기능을 수행합니다. parse_qs 함수를 사용하여 URL에서 쿼리 매개변수를 추출하고, 이를 조작하여 변경된 URL을 생성합니다. 페이지 번호를 증가시키는 것 외에도 다른 쿼리 매개변수도 이와 같은 방식으로 수정할 수 있습니다.


Loading script...