¿Por qué desaparece urlparse.urljoin en python3?
Python3 reconstruye urllib y urllib2, dividiéndolos en múltiples submódulos, como urllib.request, urllib.response, urllib.parse, urllib.error, etc., que son más lógica y estructuralmente razonables.
La función urljoin ahora es urllib.parse.urljoin
¿Cómo maneja urlopen en python3 las URL chinas?
urllib.request.urlopen(''), ¿qué pasa si hay chino en la URL? ¿Python3 no usa utf-8 de forma predeterminada?
Acabo de ver la definición de urllib.parse.quote(). Puede manejar directamente URL mezcladas en chino e inglés. No es necesario procesar el chino por separado y luego unirlos. Método específico:
# -*- coding:utf-8 -*-from urllib.parse import quoteurl = '/api.php?text=Chinese here'# Sin parámetros adicionalesprint('\nSin parámetros adicionales :\n%s' % quote(url))# Sin conversión de los parámetros de caracteres print('\n con parámetros de caracteres adicionales no convertidos:\n%s' % quote(url, safe='/:? = '))
Resultados en ejecución:
Sin parámetros adicionales:
/api.php%3Ftext%3D%E4%B8%AD%E6%96 % 87%E5%9C%A8%E8%BF%99%E9%87%8C
Con parámetros de caracteres adicionales sin conversión:
/api.php?text=%E4 %B8%AD%E6%96%87%E5%9C%A8%E8%BF%99%E9%87%8C
Los siguientes parámetros se pueden utilizar para cotizar:
quote( cadena, seguro='/', codificación=Ninguno, errores=Ninguno)<
donde el parámetro seguro está disponible en los siguientes ámbitos:
reservado = ";" | "/" | "?"| ":"| "@" | "&" "=" | "$" | rastrear la URL china mixta.