Python reptil Nota: se arrastra una sola página

prefacio

Aprendiendo cosas Python es también una tecnología rastreador requiere mucha práctica, porque no todos los sitios están en el reptil de usar, más una situación es el sitio para limitar los reptiles había hecho para minimizar el impacto en el acceso al sitio bajo la premisa de la experiencia del usuario ciertas restricciones, la más común es el número del código de verificación y los aparece la página de registro de usuario en el dominio web.
imagen
12306 código de verificación sufrió un largo período de tiempo criticado por su complejidad inicial ha afectado a la experiencia de usuario interactiva, pero por qué no elegir a 12306 y abandonar el código de la experiencia del usuario?

Dado que el código es como un umbral, no a la gente que se dirige principalmente, pero puede contener programa informático malicioso.

12306 superficie llama el maestro de desarrollo más fuerte técnica y el mantenimiento, la presión en el servidor que se ejecuta casi todos los días son equivalentes a dos once, la presión de trabajo durante las horas pico e incluso mucho más que los dos-once y diez veces.

Esto es sólo necesita proporcionar el sitio del servicio, la importancia de la estabilidad en cierta medida es mayor que la experiencia del usuario, si no hay un código, el programa puede realizar fácilmente entrada, registro y otras operaciones.

Me gusta la califican de agarre en software automático se menciona en el artículo, cuanto mayor sea la frecuencia de la actualización de acceso, la presión en el servidor 12306 seré. 12306 no se puede resolver antes de que la pantalla no es una persona que se sienta al final, sólo podemos tomar el método de CAPTCHA más simple y cruda: código de verificación.

Apartándose, pero uno de los anti-reptiles significa que este es el encuentro de seguimiento.

Dado que es un reptil, por supuesto, debe confirmar primero el sitio de destino, se recomienda aquí un reptil creo muy buen sitio web la práctica: el cielo dorado
imagen

Las listas de sitios web de fácil a retos difíciles 8 anti-reptiles, hablar hoy es uno de los básicos 1: Arrastre una sola página y calcula los datos y los datos
imagen

Análisis de los elementos de la página

Pulse F12 que aparezcan las herramientas de desarrollo que necesitamos para seleccionar una operación de datos, Tenga en cuenta que hay que grabar los datos en el archivo html caracterizado
imagen
que es un número en la col-MD-1 div llamada, esta función es después de nosotros extracción de datos proporciona una base.
Algunos socios pueden no entender el código html pequeña, breve mención aquí algunas de las características de HTML sintaxis:

  • Etiquetas normalmente vienen en pares y se utilizan para cerrar entre sí (y que hablan en los bloques de código Python anteriores elementos similares tienen que aclarar la posición de inicio y final)
  • Etiquetas normalmente pueden ser nombrados (clase, en este caso se define el nombre de un modo similar al también id, actúa como documentos de 50 partes de examen como el tema, pero sólo escribir su nombre que se le considera documentos , pero también para apuntar datos específica)
  • código HTML etiquetas diferentes tienen diferentes definiciones de palabras claveimagen
  • HTML y CSS JavaScript puede ser embebido en el código, sino que también se pueden introducir desde el exterior imagen-line se escribe directamente en el archivo HTML actual
  • html, css, código JavaScript por defecto se puede ver directamente, por lo que las operaciones sensibles no escriben en un archivo externo de JS (la información sensible escrito en HTML no de trabajo)
  • html 分 cabeza, cuerpo
  • Etiquetas diferentes pueden tener diferentes propiedades

El contenido todavía tienen que mirar con cuidado en esta serie de artículos sobre cuestiones básicas no serán la base de la dirección de html descrito.

realización del programa

Serie con base diferente, con el fin de respetar los deseos de los propietarios, sino también con el fin de que será mejor que podemos conseguir la práctica, el artículo relacionado con el glidedsky no dará todo el código comenzado, pero trataremos de hablar acerca de la tecnología y la parte del código claramente implicados.

Python obtener texto de la página

puntos de acceso Web GET / POST / borrar / PUT / OPTION varios tipos diferentes, los más utilizados son las peticiones GET y POST.

peticiones GET de todos los parámetros y características de los datos se muestran en el enlace URL, se utiliza para los datos de adquirir, ya que no realiza operaciones en los propios datos, por lo que escribimos reptiles encontradas proceso más o solicitud get.

solicitud POST se utiliza principalmente para los datos entrantes en el servidor, no se muestra la petición POST en una página del navegador, se necesita herramienta de captura de página web.

f12 herramientas del navegador Chrome para desarrolladores pueden ver la solicitud de correos y su contenido
imagen
utilizando la captura burpsuite también pueden llegar al paquete de datos de POST
imagen

Por lo general, consiste en un encabezado de solicitud paquete de solicitud y el cuerpo de la solicitud, en este paquete de solicitud, datos distintos de los datos forman encabezado de solicitud POST es. Se utiliza principalmente dentro de los datos y la interacción del servidor, fuentes de datos de verificación y las credenciales de inicio de sesión.

El tipo de paquete de marco azul primero se etiqueta para el puesto, el nombre de archivo de un parámetro para procesar la solicitud.
A continuación, en el cuadro amarillo tiene varios atributos necesidad de utilizar al escribir reptil, en primer lugar la información básica en nombre de User-Agent dispositivo de acceso a la información y el navegador.

Galleta, la preservación de esta información de atributos puede ser equivalente a un certificado, se obtiene una cualquiera de cookies en este sitio puede entrar conectado a su cuenta sin conocer la contraseña.

Hay muchas maneras de lograr acceso a las páginas web en Python, prefiero requrests uso de esta biblioteca.

Complete la solicitud utilizando el método GET solicitudes get en
imagen
Nota: Si informa de este error:
imagen
esto significa que su equipo no está instalado biblioteca de solicitudes, utilice la línea de comandos pip install requestsde comandos se puede instalar.

Se puede ver el programa devuelve correctamente el código fuente de la página, pero una mirada más cercana se encuentra que el uso de Python para obtener el código fuente no contiene los datos que queremos.

Esto es debido a que el sitio ha sido restringido, sólo después de que se conecte se puede ver los datos, por lo que tenemos que poner en una lata de galletas solicitud.
imagen
Pulse F12, haga clic en las opciones de red de la red, encontrar petición principal de la página, el contenido de la cookie de copiar todo abajo.

pide al método get () nos permite pasar un parámetro de cabecera

imagen

Con éxito adquirido los datos de destino

El procesamiento de los datos de texto adquiridos

A continuación, la primera bajo las ideas de gestión:
Objetivo: Para extraer todos los números y sumas
ahora completo: conseguir que todo el texto
siguiente que hay que hacer:

  1. Todos los valores extraídos
  2. Estos valores acumulados

Realmente es tan clara, que desea obtener de un largo texto, al valor de precisión, tenemos que utilizar dos bibliotecas: BeautifulSoup y volver

BeautifulSoup son bibliotecas externas, utilice la línea de comandos pip install BeautifulSoup4para la instalación.

Introducción de métodos:

from bs4 import BeautifulSoup

Re es las bibliotecas de apoyo regulares expresión, Python viene, pero también es necesario para introducir el uso de la importación

Hermosa sopa es una biblioteca de Python pueden extraer datos de HTML o XML. Se permite la navegación de documentos a través de su convertidor convencional favorito, buscar, modificar la forma de un documento.

Esta es la explicación oficial, popular punto de que puede ayudarle a extraer más fácilmente los datos.

Las expresiones regulares se utilizan para que coincida con los datos característicos que tienen un cierto patrón, que define el número de diferentes caracteres representan datos.

Mientras que la persona promedio realmente ver muchas posibilidades de expresiones regulares del cuerpo, pero sin duda han utilizado.

Por ejemplo, al registrar un sitio web, se le pedirá que llene de correo electrónico y número de teléfono, el programa se determina en primer lugar por las expresiones regulares que introduzca el correo electrónico y número de teléfono móvil en el formato correcto.
imagen

La misma sintaxis de expresiones regulares es más complejo, pero muy eficaz, de aprendizaje muy recomendable.

Recomendado la lectura de este artículo para aprender expresiones regulares: treinta minutos Obtención de expresiones regulares

Una vez que entienda el papel de estas dos bibliotecas podemos empezar a usarlos.

El primero en utilizar BeautifulSoup sobre el acceso al procesamiento de contenido web

soup = BeautifulSoup(html,'html.parser')

Para extraer el contenido de toda clase = div col-md-1 en el procesamiento de datos

nums = soup.find_all('div',class_='col-md-1')

Este es nuestro datos se convierte en:
imagen
Tenga en cuenta que Rodeé los detalles aquí, lo que demuestra que, después de que el procesado de datos se almacena en una lista.

Luego está la necesidad de ser, además de los caracteres numéricos eliminado todos

x = re.findall(r'\d\d\d',str(nums),re.DOTALL)

Debido a que la expresión regular con una cadena, por lo que necesitamos para obtener sólo método str para convertir un tipo de datos de cadena, el primer parámetro del método que se findall tres dígitos expresiones regulares, la representación re.DOTALL coincidir todos los caracteres, incluyendo los saltos de línea y otros símbolos especiales.

El método de re módulo FindAll, y el método find_all BeautifulSoup módulo es completamente diferente.

imagen

Python módulo de re documentos oficiales en la lista detallada del uso de cada método y un cierto conocimiento de expresiones regulares simples.

En este punto, tenemos todo el valor coincide cabo
imagen

A continuación, se puede utilizar para el bucle para recorrer a través de la lista de índice, y los datos acumulados suma, no se da esta parte del código.

Para probarlo, tres líneas de código pueden ser resueltos.

Además, el hecho de BeautifulSoup y volver a cualquiera de los módulos se pueden completar los datos de detección, la razón por la que soy inútil porque yo era perezoso.

Finalmente, los resultados de las operaciones finales

imagen

imagen

Supongo que te gusta

Origin www.cnblogs.com/pr1s0n/p/12540088.html
Recomendado
Clasificación