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 la mejor plataforma para el desarrollo de sitios web?
- ¿Cuál es la parte más difícil de aprender Ruby on Rails?
- ¿Rails 3 finalmente será más estándar que PHP?
- ¿Qué debo buscar al elegir una herramienta de raspado web?
- ¿Cuánto gana un desarrollador web remoto?
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 cambiar mi sitio web de un servicio de alojamiento a otro
¿Se pueden incrustar HTML, JavaScript y PHP para crear un sitio web?
¿Cuáles son las habilidades esenciales para los diseñadores de productos que codifican?
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ál es más poderoso, AngularJS o ReactJS?
¿Cuál es la mejor firma de AngularJS?
Cómo convertir un sitio web HTML a CMS
¿Quién es la mejor persona para ayudar a crear un sitio web en línea como Airbnb?
¿Cuál es el alcance del desarrollador web en India?
¿Los filtros Laravel también funcionan en múltiples acciones de controlador?
Cómo raspar detalles de una página web usando Scrapy
¿Cómo es usar el framework Laravel para un proyecto de sitio de redes sociales?
¿Cómo angular js vienen con cambios drásticos en el mercado marco JS?
- (ordenada). El elemento de la lista comienza con