combate python reptil base cero

contenido

1. ¿Qué es un reptil?

2. ¿Por qué rastreadores web con Python

configuración del entorno de 3.python

4. Necesito saber lo que pre-conocimiento de reptil serpiente pitón

5. Acerca de las expresiones regulares

6. Extraer el contenido web y la expresión tratados con n

7.xPath y BeautifulSoup introducción

 

 

1. INTRODUCCIÓN reptil

En pocas palabras, la sonda reptiles es una máquina, su funcionamiento básico consiste en simular el comportamiento humano a varios sitios de paseo, pequeños botones, buscar datos, información o para ver la parte de atrás de vuelta. Como un incansable insectos que se arrastran alrededor en un edificio.

Se puede imaginar fácilmente: todo reptil es su "avatar". Al igual que el Rey Mono sacó un puñado de pelos, soplar un montón de monos.

Que utiliza cada día Baidu, de hecho, el uso de la tecnología de este reptil: el día de la liberación innumerables reptiles a cada sitio, su información se vuelve otra vez, y luego la fila de buen equipo de maquillaje en espera de ser cargado.
Software para la califican de agarre, lo que equivale a extenderse numerosos compromisos, en cada avatar le ayudará a entrenar constantemente renovado sitio web de más de 12306 entradas. Una vez que un billete, sin contemplaciones, y luego gritas: Ven pago tirano.
- desde el usuario a conocer la historia de casi
  Internet es como una red, una variedad de enlace de conexión intermedia entre sí, y el pequeño reptil era capaz de montar en este carrusel de línea, en lugar de una gran cantidad de personas para llevar a cabo tareas pesadas, como el software a los votos de apoyo, algunos de los motores de búsqueda.
 
 
 
2. ¿Por qué rastreadores web con Python
  Python como un lenguaje accesible, ofrece una rica API en busca de documentos de páginas, simular el comportamiento del navegador, el procesamiento de datos de rastreo. La parte trasera de nuestra demostración será un escaparate Introducción reptil pitón, arrastrándose código del núcleo de contenido web puede estar en unas pocas líneas, pero se puede lograr de gran alcance.
 
 
configuración del entorno de 3.python
  Para los no iniciados, es el entorno de ventanas más familiar. Estoy utilizando Anaconda + PyCharm ser escrito en código Python, donde anaconda facilitar la gestión de bibliotecas externas, y PyCharm es un IDE muy popular y de gran alcance. procedimiento de configuración detallada, ver el blog:      Instalación y configuración de anaconda y PyCharm  .
 
4. Necesito saber lo que pre-conocimiento de reptil serpiente pitón
  Por lo menos ser un poco de conocimiento básico de pitón, si no está seguro, puede participar en la clase de Zhejiang Kai Weng Mu de pitón, o usted mismo introduce a un documento, como        pitón de introducción tutorial . Al mismo tiempo la necesidad de entender algunos conocimientos básicos de HTML, como representantes del significado de diversas etiquetas:

<- ... ->: Define el comentario
<! DOCTYPE>: Define el tipo de documento
<html>: total del documento etiqueta HTML
<head>: Define el Jefe
<body>: define el contenido web
<script>: Los scripts personalizados
<div>: división, definir particiones, las etiquetas del envase
<p>: párrafo, el párrafo definido
<a>: definir hipervínculos
<span>: define el contenedor de texto
<br>: envoltura
<form>: formulario personalizado
<table>: tabla de definición
<th>: encabezado definido
<tr>: fila de la tabla
<td>: columna de la tabla
<b>: definir negrita
<img>: imagen personalizada

  Familiarizado por encima de estas etiquetas HTML nos facilitará el procesamiento de expresiones regulares, así como XPath y BeautifulSoup aprendizaje.
 
5. Acerca de las expresiones regulares
 
  pitón expresión regular más conocimiento, que sólo necesita saber algunos básicos, como este:
 
6. Extraer el contenido web y la expresión tratados con n
 
  
Importación Re
 importación urllib.request
 importación del Chardet 

la Respuesta = el urllib.request.urlopen ( " http://news.hit.edu.cn/ " ) # parámetros de entrada para la página que desea rastrear la dirección URL del 

HTML = response.read () # html leer variable de 
chardet1 = chardet.detect (html) # adquiere codificación 
html = html.decode (chardet1 [ ' codifica ' ]) # procesa de acuerdo con la codificación adquirido

   Aquí tenemos el sitio web de noticias oficial de una universidad como un ejemplo para demostrar el funcionamiento de reptiles pitón, sólo unas pocas líneas de código anterior se logrará el rastreo de contenido web para operaciones locales.

  El siguiente es el contenido de la arrastró hasta el procesamiento de expresiones regulares, obtenemos lo que queremos llegar a observar el código fuente de la página:

  

Esperamos que los enlaces externos, que se corresponden con la expresión regular antes de que el conocimiento aprendido a lograr lo siguiente:

mypatten = " <li class = \" link-elemento \ "> <a href=\"(.*)\"> <span> (. *) </ span> </a> </ li> " 
milista = re.findall (mypatten, html)
 para i en mylist:
     impresión ( " 外部链接地址:% s网站名:% s " % (i [0], i [1]))

El efecto resultante es:

 

7.xPath y BeautifulSoup introducción

  Además de los documentos de la tela de procesamiento de expresiones regulares obtenidos por, también podemos considerar su propia arquitectura de la web.

XPath, nombre completo de la Lengua XML Path, a saber XML Path Language, es un hallazgo información en un lenguaje documento XML. XPath fue diseñado originalmente para buscar documentos XML, pero también se aplica a la búsqueda de documentos HTML.

  nombredenodo seleccionar todos los nodos del hijo de este nodo
  nodo secundario directo / nodos de la corriente seleccionada
  // Seleccionar nodo descendiente del nodo actual
  . Seleccione el nodo actual
  .. seleccionar el nodo padre del nodo actual
  @ atributo de selección

  Aquí una lista de reglas de concordancia comúnmente XPath, por ejemplo / representantes seleccionados nodo hijo directo que representa el seleccionado // todo descendiente nodos representante de seleccionar el nodo actual, el nodo actual .. se añade nodo padre seleccionado Representante @ atributo definir, seleccionando un nodo de atributos específicos que coinciden.

de lxml importación etree
 importación urllib.request
 importación Chardet 
respuesta = urllib.request.urlopen ( " https://www.dahe.cn " ) 

html = response.read () 
chardet1 = chardet.detect (html) 
html = html.decode (chardet1 [ ' codifica ' ]) 
etreehtml = etree.HTML (html) 
mylist = etreehtml.xpath ( " / html / cuerpo / div / div / div / div / div / ul / div / li " )

BeautifulSoup4 reptil aprenderá habilidades. BeautifulSoup función principal es obtener los datos de la web, Beautiful Soup convierte automáticamente a Unicode codifica documento de entrada, el documento se convierte a una salida UTF-8 codificado. BeautifulSoup es compatible con la biblioteca estándar de Python del analizador de HTML también es compatible con analizador de terceros, si no lo instale, el valor por defecto de Python Python utiliza el analizador, el analizador lxml más potente, más rápido, recomendado lxml resolución dispositivo.

de BS4 importación del BeautifulSoup 
Archivo = Abierto ( ' ./aa.html ' , ' RB ' ) 
HTML = File.read () 
BS = la BeautifulSoup (HTML, " html.parser " ) # hendidura 
de impresión (bs.prettify () ) # estructura de formato html 
impresión (bs.title) # obtener el nombre de la etiqueta del título 
de impresión (bs.title.name) # obtener la etiqueta del título del texto 
Imprimir (bs.title.string) # todo el contenido de etiqueta de la cabeza adquisición 
de impresión ( bs.head) #Obtener todos los contenidos de la primera etiqueta div 
de impresión (bs.div) # obtener un primer valor de la etiqueta div id 
de impresión (bs.div [ " Identificación " ]) # Get todo el contenido de una etiqueta a una 
impresión (bs.a) # obtener todos los contenidos de todas las etiquetas en una 
impresión (bs.find_all ( " a " )) # Get = ID "U1" 
Imprimir (bs.find (ID = " U1 " )) # recuperar todos una etiqueta y un valor de desplazamiento de impresión de etiquetas href 
para el artículo en bs.find_all ( " un " ): 
     Imprimir (item.get ( " href ")) # Obtener todos una etiqueta, e imprimir un valor de desplazamiento texto de la etiqueta 
para el artículo en bs.find_all ( " un " ): 
     Imprimir (item.get_text ())

 

<- ... ->: Define el comentario
<! DOCTYPE>: Define el tipo de documento
<html>: total del documento etiqueta HTML
<head>: Define el Jefe
<body>: define el contenido web
<script>: Los scripts personalizados
<div>: división, definir particiones, las etiquetas del envase
<p>: párrafo, el párrafo definido
<a>: definir hipervínculos
<span>: define el contenedor de texto
<br>: envoltura
<form>: formulario personalizado
<table>: tabla de definición
<th>: encabezado definido
<tr>: fila de la tabla
<td>: columna de la tabla
<b>: definir negrita
<img>: imagen personalizada

Supongo que te gusta

Origin www.cnblogs.com/upuphe/p/12556357.html
Recomendado
Clasificación