¿Cómo utilizar el rastreador web de Python para obtener datos históricos de okcoin?

Primero, obtenga los datos de toda la página

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:

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) :

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.