Los datos pueden extraerse o rasparse de una fuente web utilizando varios métodos. Los sitios web populares como Google, Facebook o Twitter ofrecen API para ver y extraer los datos disponibles de manera estructurada. Esto evita el uso de otros métodos que el proveedor de API no puede preferir. Python, un lenguaje de programación de código abierto a menudo se usa para Web Scraping debido a su ecosistema simple y rico. Contiene una biblioteca llamada “BeautifulSoup” que realiza esta tarea. Echemos un vistazo más profundo al raspado web usando Python.
Configuración de un entorno Python:
Para llevar a cabo el raspado web con Python, primero deberá instalar Python Environment, que permite ejecutar código escrito en el lenguaje python. Las bibliotecas realizan el raspado de datos;
- ¿Cuál es el uso real de los sockets web? ¿Es realmente importante en el desarrollo web y móvil?
- ¿Cómo puedo construir mi propio sitio comercial?
- ¿Qué requiere mi programa PHP para ser considerado un marco que otros puedan usar?
- ¿Es el diseño web receptivo el futuro del desarrollo de sitios web?
- ¿Qué es foo en PHP?
Beautiful Soup es una biblioteca de Python conveniente para usar. Es una de las mejores herramientas para extraer información de una página web. Los profesionales pueden extraer información de las páginas web en forma de tablas, listas o párrafos. Urllib2 es otra biblioteca que se puede usar en combinación con la biblioteca BeautifulSoup para obtener las páginas web. Se pueden agregar filtros para extraer información específica de las páginas web. Urllib2 es un módulo de Python que puede buscar URL.
Para MAC OSX:
Para instalar las bibliotecas de Python en MAC OSX, los usuarios deben abrir un terminal win y escribir los siguientes comandos, comando único a la vez:
sudoeasy_install pip
pip install BeautifulSoup4
pip install lxml
Para usuarios de Windows 7 y 8:
Los usuarios de Windows 7 y 8 deben asegurarse de que primero se instale el entorno de Python. Una vez que se instala el entorno, abra el símbolo del sistema y busque el directorio raíz C: / y escriba los siguientes comandos:
easy_install BeautifulSoup4
easy_installlxml
Una vez que las bibliotecas están instaladas, es hora de escribir el código de raspado de datos.
Ejecutando Python:
El raspado de datos debe realizarse para un objetivo distinto, como raspar el stock actual de una tienda minorista. Primero, se requiere un navegador web para navegar por el sitio web que contiene estos datos. Después de identificar la tabla, haga clic con el botón derecho en cualquier lugar y luego seleccione inspeccionar elemento de la lista del menú desplegable. Esto hará que aparezca una ventana emergente en la parte inferior o lateral de su pantalla que muestra el código html del sitio web. Las clasificaciones aparecen en una tabla. Es posible que deba escanear los datos HTML hasta que encuentre la línea de código que resalta la tabla en la página web.
Python ofrece algunas otras alternativas para el raspado de HTML además de BeautifulSoup. Incluyen:
- Scrapy
- Scrapemark
- Mecanizar
El raspado web convierte los datos no estructurados del código HTML en forma estructurada, como los datos tabulares en una hoja de cálculo de Excel. El raspado web se puede realizar de muchas maneras, desde el uso de Google Docs hasta los lenguajes de programación. Para las personas que no tienen ningún conocimiento de programación o competencias técnicas, es posible adquirir datos web mediante el uso de servicios de raspado web que proporcionan datos listos para usar de sitios web de su preferencia.
Etiquetas HTML:
Para realizar el raspado web, los usuarios deben tener un buen conocimiento de las etiquetas HTML. Puede ser de gran ayuda saber que los enlaces HTML se definen usando la etiqueta de anclaje, es decir, la etiqueta , “ El enlace debe estar aquí “. Una lista HTML comprende la lista
- (desordenada) y
- .
Las tablas HTML se definen con
, la fila como y las columnas se dividen en datos como; - : un documento HTML comienza con una declaración de tipo de documento
- La parte principal del documento HTML en texto sin formato y sin formato se define mediante etiquetas y
- Los encabezados en HTML se definen usando las etiquetas de encabezado de
a
- Los párrafos se definen con la etiqueta
en HTML
- Un documento HTML completo está contenido entre y
Usando BeautifulSoup en Scraping:
Mientras raspa una página web con BeautifulSoup, la principal preocupación es identificar el objetivo final. Por ejemplo, si desea extraer una lista de la página web, se requiere un enfoque gradual:
- El primer paso es importar las bibliotecas requeridas:
# Importar la biblioteca utilizada para consultar un sitio web
importar urllib2
#specify the url wiki = “ https: //”
# Consulte el sitio web y devuelva el html a la variable ‘página’
página = urllib2.urlopen (wiki)
# importa las funciones de Beautiful soup para analizar los datos devueltos desde el sitio web
desde bs4 import BeautifulSoup
#Prese el html en la variable ‘página’ y guárdelo en formato Beautiful Soup
sopa = BeautifulSoup (página)
- Utilice la función “prettify” para visualizar la estructura anidada de la página HTML
- Trabajando con etiquetas de sopa:
Sopa se utiliza para devolver contenido entre la etiqueta de apertura y cierre, incluida la etiqueta.
- En [30]: soup.title
Fuera [30]:
Lista de presidentes en India hasta 2010 – Wikipedia, la enciclopedia libre - soup. .string: Devuelve la cadena dentro de la etiqueta dada
- En [38]: soup.title.string
- Fuera [38]: u ‘Lista de presidentes en India y Brasil hasta 2010 en India – Wikipedia, la enciclopedia libre’
- Encuentre todos los enlaces dentro de las etiquetas de la página: etiquete un enlace usando la etiqueta ““. Entonces, vaya con la opción soup.a y debería devolver los enlaces disponibles en la página web. Vamos a hacerlo.
- En [40]: sopa.a
- Encuentra la tabla correcta:
Como se busca una tabla para obtener información sobre los presidentes en India y Brasil hasta 2010, es importante identificar primero la tabla correcta. Aquí hay un comando para raspar la información incluida en todas las etiquetas de la tabla.
all_tables = soup.find_all (‘tabla’)
Identifique la tabla correcta utilizando el atributo “clase” de la tabla para filtrar la tabla correcta. Luego, inspeccione el nombre de la clase haciendo clic derecho en la tabla requerida de la página web de la siguiente manera:
- Inspeccionar elemento
- Copie el nombre de la clase o busque el nombre de la clase de la tabla correcta de la salida del último comando.
right_table = soup.find (‘table’, class _ = ‘wikitable clasificable plainrowheaders’)
tabla_derecha
Así es como podemos identificar la tabla correcta.
- Extraiga la información a DataFrame: es necesario recorrer cada fila (tr) y luego asignar cada elemento de tr (td) a una variable y agregarlo a una lista. Analicemos la estructura HTML de la tabla. (extraer información para el encabezado de la tabla
) Para acceder al valor de cada elemento, es necesario usar la opción “find (text = True)” con cada elemento. Finalmente, hay datos en el marco de datos.
Hay varias otras formas de raspar datos utilizando “BeautifulSoup” que reducen los esfuerzos manuales para recopilar datos de páginas web. El código escrito en BeautifulSoup se considera más robusto que las expresiones regulares. El método de raspado web que discutimos utiliza las bibliotecas “BeautifulSoup” y “urllib2” en Python. Esa fue una breve guía para principiantes para comenzar a usar Python para el raspado web.
Lee mas…
Related Content
Cómo evitar violaciones de seguridad en mi sitio web de WordPress
¿Por qué Asana está desarrollando su propio lenguaje de programación (Lunascript)?
Puede consultar nuestro Ebook recientemente lanzado sobre raspado web donde explicamos paso a paso el proceso requerido para raspar usando Ruby. Aquí está el bosquejo:
1. Introducción al web scraping
2. ¿Por qué usar Ruby para raspar?
3. Requisitos:
– Raspar una página web
– Guardar los datos en un archivo JSON
4. Raspado web de nivel empresarial
Este archivo contiene un código de muestra que se puede utilizar para extraer datos de una página web en vivo.
Entre los principales códigos gratuitos se encuentra probablemente este proyecto: Scraping Google Ranks for Fun and Profit
Es un raspador de rango de búsqueda de Google en PHP, principalmente para el raspado a gran escala.
More Interesting
¿Cuáles son los mejores usos del raspado web, cuál es la legalidad de usarlo?
¿Qué perfil debe elegir un desarrollador de PHP además de la codificación?
¿Cuál es la diferencia entre una etiqueta y una etiqueta ?
¿El sitio web de Celebrity Face que crea carteras es bueno o no?
¿Qué hace que una API sea ReSTful? ¿Qué alternativas hay para REST?
¿Cuál es el atributo rowspan en HTML (en caso de que exista)? Dar ejemplos.
¿Hay alguna razón para que no maneje todas mis consultas receptivas con JavaScript?
Además de la pila MEAN, ¿cuál es la forma más fácil de ser un desarrollador web de pila completa?
Cómo mostrar cada publicación en una categoría en una sola página de WordPress
- (ordenada). El elemento de la lista comienza con