Primero podemos obtener la información de toda la página de la imagen que se descargará.
getjpg.py
#encoding=utf-8
Importar urllib
def getHtml(url):
página = urllib.urlopen(url)
html = page.read()
Devolver html
Imprimir html
Urllib El módulo proporciona una interfaz para leer datos de páginas web. Podemos leer datos de www y ftp al igual que leer archivos locales. Primero, definimos una función getHtml():
URL. El método URL() se utiliza para abrir una dirección URL.
El método read() se utiliza para leer los datos de la URL, pasar la URL a la función getHtml() y descargar la página completa. Al ejecutar el programa se imprimirá la página web completa.
En segundo lugar, filtre los datos requeridos en la página
Python proporciona expresiones regulares muy potentes. Primero debemos comprender un poco sobre las expresiones regulares de Python.
Si encontramos algunos fondos de pantalla bonitos en Baidu Tieba, podemos consultar las herramientas del párrafo anterior. Encontré la dirección de la imagen, por ejemplo: src = "/70 cfying qfm 2 e 88 ium _ a/forum...jpg" pic _ text = "JPEG "
Modifique el código de la siguiente manera: p>
Importar re
Importar urllib
def getHtml(url):
página = urllib.urlopen(url)
html = page.read()
Devolver html
def getImg(html):
reg = r'src= "(.+? \. jpg)" pic_ext '
imgre = recompilar (reg)
imglist = re.findall(imgre, html)
Devolver imglist
Imprimir getImg(html)
También creamos la función getImg() para filtrar las conexiones de imágenes requeridas en toda la página. El módulo Re contiene principalmente expresiones regulares:
Re.pile() puede compilar expresiones regulares en objetos de expresión regular.
El método re.findall() lee datos que contienen imgre (expresión regular) en html.
Al ejecutar este script se obtendrá la dirección URL de la imagen contenida en toda la página.
En tercer lugar, guarde los datos filtrados de la página localmente
Recorra la dirección de la imagen filtrada a través de un bucle for y guárdela localmente. El código es el siguiente:
#encoding=utf-8
Importar urllib
Importar re
def getHtml(url):
página = urllib.urlopen(url)
html = página.read()
Devolver html
def getImg(html) : p>
reg = r'src= "(.
+?\.jpg)" pic_ext '
imgre =Recompilar(reg)
imglist = re.findall(imgre, html)
x = 0
Para imgurl en imglist:
urllib.urlretrieve(imgurl, ' %s.jpg' % x ')
x+=1
Imprimir getImg(html)
El núcleo aquí es utilizar el método urllib.urlretrieve() para descargar datos remotos directamente al local
La conexión de imagen obtenida atravesando el for. loop. Para que el nombre del archivo de imagen parezca más estandarizado, la regla de nomenclatura es agregar 1 a la variable X. La ubicación para guardar es el directorio de almacenamiento del programa de forma predeterminada.
Después de ejecutar el programa. Los archivos descargados que se ven en el directorio se reproducen solo como referencia.