Biblioteca 01-urllib de funciones usadas frecuentemente

Importar la Solicitud urllib partir 
de la urllib Importe el análisis sintáctico 
# 1.urlopen abrir la página, leer el contenido de la página 
RESP = request.urlopen ( 'http://www.baidu.com') 
print (resp.read ()) # Lea todo 
de impresión (resp.read (10)) # 10 lee la primera 
impresión (resp.readline ()) # lee una línea 
de impresión (resp.readlines ()) # lee una pluralidad de filas, en la forma de una lista de 
impresión (resp.getcode ( )) # se ha podido recuperar código de respuesta 

# 2.urlretrieve descarga 
request.urlretrieve ( 'http: //www.baidu.com','baidu.html') 
request.urlretrieve ( 'https://img-blog.csdn.net/ 20180103144259961? Marca de agua / 2 / texto / aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVlYWZheQ == / fuente / 5a6L5L2T / fontSize / 400 / llenado / I0JBQkFCMA == / la Disolver / 70 / Gravity / Sureste '' VS.jpg ') 

# 3.urlencode codificación de la función 
url = " http://www.baidu.com/s " 
los params = {" WD ":" Jay "} 
Qs = parse.urlencode (params)
url = + NEWURL "?" + QS 
Imprimir (el resultado) # url conseguir todo el contenido de la información
= Request.urlopen RESP (URL) 
de impresión (RESP) 

# 4.parse_qs decodificación función 
= Resultado parse.parse_qs ( "WD = E5 %%% 91 es el B0 A8 9D %%% %%% E6 E4 BC A6") 
Imprimir (Resultado ) 

# 5.urlparse get url información de contenido 
url = "http://www.baidu.com/s?wd=python&username=abc#1" 
el Resultado = parse.urlparse (url) 
Imprimir (el resultado) # url conseguir todo el contenido de la información 
Imprimir ( "esquema:", result.scheme) 
Imprimir ( "netloc:", result.netloc) 
Imprimir ( "camino", result.path) 
Imprimir ( "params:", result.params) 
Imprimir ( "Pregunta:" , result.query) 
Imprimir ( "el fragmento:", result.fragment) 

# 6.urlsplit get url información de contenido, no hay parametros 
url = "http://www.baidu.com/s?wd=python&username=abc#1" 
resultar = análisis.
imprimir ( "esquema:", result.scheme)
imprimir ( "netloc:", result.netloc) 
print ( "camino", result.path) 
# print ( "params:", result.params) 
print ( "consulta:", result.query) 
print ( "fragmento: ", result.fragment)

  

`Biblioteca urllib` is` Python` una biblioteca solicitud de red básica. Puede simular el comportamiento del navegador, envía una solicitud al servidor especificado, y puede guardar los datos devueltos por el servidor. 

### urlopen función: 

en el `urllib`` biblioteca Python3`, todas las solicitudes de red y métodos relacionados, se ajustan a` urllib.request` debajo del módulo al primer vistazo a la utilización de urlopen` básica functions` : 

`` `Python 
desde urllib importación Solicitud 
RESP = request.urlopen ( 'http://www.baidu.com') 
Imprimir (resp.read ()) 
` `` 

de hecho, el uso de un navegador de Baidu de acceso, derecha Vista fuente código. Nos encontrará simplemente imprimir los datos es exactamente el mismo. En otras palabras, las anteriores tres líneas de código que nos han ayudado a Baidu página de inicio de todos abajo el código de subida. Un código url pitón básica correspondiente a la solicitud es realmente muy simple. 
`Urlopen` en adelante, las funciones explicada con detalle: 

1.` url`: solicitud de URL. 
2. `data`: request` data`, si se establece este valor, se convertirá en` petición Post`. 
3. Valor de retorno: El valor de retorno es un objeto http.client.HTTPResponse` `que es un identificador de archivo de objetos de clase. Hay `leer (tamaño)`, ` readline`,` readlines` `getcode` y similares. 

### Función urlretrieve: 

Esta función puede ser fácilmente guardado en un archivo local en una página web. El siguiente código puede ser fácilmente descargado en la página principal del Baidu locales:

Python `` ` 
de la solicitud de importación urllib 
request.urlretrieve ( 'http://www.baidu.com/','baidu.html') 
` `` 

### urlencode función: 

Cuando el navegador envía una petición, si la URL contiene china u otros caracteres especiales, el navegador se codificará automáticamente a nosotros. Si se utiliza el código de solicitud de transmisión, entonces debe ser codificado manualmente, esta vez se debe utilizar para lograr la función `urlencode`. `Urlencode` can` URL` de datos de diccionario en datos codificados. Código de la muestra es la siguiente: 

`` `Python 
desde el urllib el análisis sintáctico de importación 
de datos = { 'nombre': 'base de oruga', 'el saludo': 'Hola Mundo', 'Age':} 100 
QS = parse.urlencode (Datos) 
Imprimir (QS ) 
`` ` 

funcionan ### parse_qs: 

puede ser decodificado a través de parámetros de URL codificadas. Código de la muestra es la siguiente: 

`` `Python 
desde el urllib Importe el análisis sintáctico 
QS = "name =% E7% 88% AC% E8% 99% AB% E5% 9F% BA% E7% A1% 80 y el saludo = Hola + Mundial y edad = 100" 
Imprimir ( analizar.


A veces, para obtener una URL, querido para los diversos componentes de la URL en la división, así que esta vez se puede usar `o` urlparse` urlsplit` dividir. Código de la muestra es la siguiente: 

`` `Python 
desde el urllib solicitud de importación, el análisis sintáctico 

URL = 'http://www.baidu.com/s?username=python' 

Resultado = parse.urlsplit (URL) 
# Resultado = parse.urlparse (URL) 

Imprimir ( 'esquema:', result.scheme) 
Imprimir ( 'netloc:', result.netloc) 
Imprimir ( 'ruta:', result.path) 
Imprimir ( 'Pregunta:', result.query) 
`` ` 

` urlparse` y `urlsplit` sustancialmente idénticos. El único lugar que no es lo mismo, `urlparse` más en el interior a` propiedad params`, y` urlsplit` NO TIENEN this` propiedad params`. Por ejemplo, hay un `url`:` url = 'http: //www.baidu.com/s ; hola wd = pitón y nombre de usuario = abc # 1'` ,? 
Se puede conseguir `urlparse` to` hello`, y` urlsplit `no se puede llegar. `Url` in` params` también con menos.

  

Supongo que te gusta

Origin www.cnblogs.com/wcyMiracle/p/12454661.html
Recomendado
Clasificación