Por ejemplo, si desea obtener actualizaciones periódicas sobre sus productos favoritos para ofertas de descuento o desea automatizar el proceso de descarga de episodios de su primera temporada favorita por uno, y el sitio web no tiene ninguna API para ello, entonces la única opción Te queda con el raspado web.El raspado web puede ser ilegal en algunos sitios web, dependiendo de si un sitio web lo permite o no. Los sitios web usan "Robots.archivo txt "para definir explícitamente las URL que no están permitidas. Puede verificar si el sitio web lo permite o no agregando "Robots.txt "con el nombre de dominio del sitio web. Por ejemplo, https: // www.Google.com/robots.TXT
En este artículo, usaremos Python para rasparse porque es muy fácil de configurar y usar. Tiene muchos bibliotecarios incorporados y de terceros que se pueden usar para raspar y organizar datos. Usaremos dos bibliotecas de Python "Urllib" para obtener la página web y "Beautifulsoup" para analizar la página web para aplicar operaciones de programación.
Cómo funciona el raspado web?
Enviamos una solicitud a la página web, desde donde desea raspar los datos. El sitio web responderá a la solicitud con el contenido HTML de la página. Luego, podemos analizar esta página web a BeautifulSoup para su posterior procesamiento. Para obtener la página web, usaremos la biblioteca "Urllib" en Python.
Urllib descargará el contenido de la página web en HTML. No podemos aplicar operaciones de cadena a esta página web HTML para extracción de contenido y procesamiento adicional. Usaremos una biblioteca de Python "beautifulsoup" que analizará el contenido y extraerá los datos interesantes.
Artigación de artículos de Linuxhint.comunicarse
Ahora que tenemos una idea de cómo funciona el raspado web, hagamos un poco de práctica. Intentaremos raspar títulos y enlaces de artículos de Linuxhint.comunicarse. Así que abre https: // Linuxhint.com/ en tu navegador.
Ahora presione CRTL+U para ver el código fuente HTML de la página web.
Copie el código fuente y vaya a https: // htmlformatter.com/ para fusionar el código. Después de fusionar el código, es fácil inspeccionar el código y encontrar información interesante.
Ahora, nuevamente copie el código formateado y péguelo en su editor de texto favorito como Atom, Texto Sublime, etc. Ahora rasparemos la información interesante usando Python. Escriba lo siguiente
// Instalar una hermosa biblioteca de sopa, Urllib vieneEscriba "ayuda", "copyright", "créditos" o "licencia" para obtener más información.
// Importar urllibAhora veamos el código fuente de HTML que acabamos de copiar y pegamos para encontrar cosas de nuestro interés.
Puede ver que el primer artículo enumerado en Linuxhint.com se llama "74 ejemplos de operadores de bash", encuentre esto en el código fuente. Está encerrado entre las etiquetas de encabezado, y su código está
Title = "74 Ejemplos de operadores de bash"> 74 operadores de bash
Ejemplos
El mismo código se repite una y otra vez con el cambio de solo títulos de artículos y enlaces. El siguiente artículo tiene el siguiente código HTML
Puede ver que todos los artículos, incluidos estos dos, están encerrados en el mismo "
"Etiqueta y use la misma clase" Título de entrada ". Podemos usar la función "FindAll" en una hermosa biblioteca de sopa para encontrar y enumerar todo "
"Tener clase" Título de entrada ". Escriba lo siguiente en su consola Python
// Este comando encontrará todo ""Etiqueta elementos que tienen clase
"Título de entrada". La salida se almacenará en una matriz.
>>> Artículos = Page_Soup.findall ("H2" ,
"clase": "Tito de entrada")
// El número de artículos que se encuentran en la página principal de Linuxhint.comunicarse
>>> Len (artículos)
102
// Primero extraído "
"Elemento de etiqueta que contiene nombre y enlace del artículo
>>> artículos [0]
title = "74 Ejemplos de operadores de bash">
74 ejemplos de operadores bash
"Elemento de etiqueta que contiene nombre y enlace del artículo
>>> artículos [1]
Ahora que tenemos una lista de los 102 html "
"Elementos de etiqueta que contiene enlace del artículo y título de artículo. Podemos extraer ambos artículos de enlaces y títulos. Para extraer enlaces de las etiquetas "", podemos usar el siguiente código
// El siguiente código extraerá el enlace desde primero elemento de etiqueta
>>> Para el enlace en artículos [0].find_all ('a', href = true):
… Imprimir (enlace ['href'])
…
https: // linuxhint.com/bash_operator_examples/
Ahora podemos escribir un bucle for que itera a través de cada "
"Elemento de etiqueta en la lista de" artículos "y extrae el enlace y el título del artículo.
>>> Para I en el rango (0,10):Del mismo modo, guarda estos resultados en un archivo JSON o CSV.
Conclusión
Sus tareas diarias no son solo de administración de archivos o ejecución de comandos del sistema. También puede automatizar tareas relacionadas con la web, como la automatización de descarga de archivos o la extracción de datos raspando la web en Python. Este artículo se limitó solo a una extracción de datos simple, pero puede hacer una gran automatización de tareas utilizando "urllib" y "beautifulsoup".