Programa de Python para convertir parámetros de URL en elementos de diccionario

Dada la string de parámetros de URL, convertir a elementos del diccionario.

Entrada : test_str = ‘gfg=4&is=5’ 
Salida : {‘gfg’: [‘4’], ‘is’: [‘5’]} 
Explicación : el valor de gfg es 4.

Entrada : test_str = ‘gfg=4’ 
Salida : {‘gfg’: [‘4’]} 
Explicación : el valor de gfg es 4 como parámetro. 
 

Método #1: Usando urllib.parse.parse_qs()

Esta es una función incorporada predeterminada que realiza esta tarea, analiza y las claves se forman a partir de LHS de «=» y devuelve una lista de valores que están en valores RHS para los parámetros. Por lo tanto, importe urllib.parse() externo, para permitir que esto funcione.

Python3

# import module
import urllib.parse
 
# initializing string
test_str = 'gfg=4&is=5&best=yes'
 
# printing original string
print("The original string is : " + str(test_str))
 
# parse_qs gets the Dictionary and value list
res = urllib.parse.parse_qs(test_str)
 
# printing result
print("The parsed URL Params : " + str(res))
Salida La string original es: gfg=4&is=5&best=yes Los parámetros de URL analizados: {‘gfg’: [‘4’], ‘is’: [‘5’], ‘best’: [‘yes’]}

Método #2: Usar findall() + setdefault()

En esto, obtenemos todos los parámetros usando findall() y luego asignamos claves y valores usando setdefault() y loop.

Python3

import re
 
# initializing string
test_str = 'gfg=4&is=5&best=yes'
 
# printing original string
print("The original string is : " + str(test_str))
 
# getting all params
params = re.findall(r'([^=&]+)=([^=&]+)', test_str)
 
# assigning keys with values
res = dict()
for key, val in params:
   
    res.setdefault(key, []).append(val)
 
# printing result
print("The parsed URL Params : " + str(res))
Salida La string original es: gfg=4&is=5&best=yes Los parámetros de URL analizados: {‘gfg’: [‘4’], ‘is’: [‘5’], ‘best’: [‘yes’]}

Método #3: Usando split()

Python3

#python program to convert
#URL parameters to dictionary items
# initializing string
test_str = 'gfg=4&is=5&best=yes'
 
# printing original string
print("The original string is : " + str(test_str))
 
# getting all params
res = dict()
x=test_str.split("&")
for i in x:
    a,b=i.split("=")
    # assigning keys with values
    res[a]=[b]
# printing result
print("The parsed URL Params : " + str(res))
Producción

The original string is : gfg=4&is=5&best=yes
The parsed URL Params : {'gfg': ['4'], 'is': ['5'], 'best': ['yes']}

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *