cURL: ¿qué es y cómo puede usarlo para raspado de datos?

cURL es un comando versátil que se usa en programación para recopilar y transferir datos. ¿Cómo puede aprovechar cURL para raspar datos (web scraping)? Este articulo le ayudará a ponerse en acción.
data collection and web scraping with cURL
Gal El Al of Bright Data
Gal El Al | Director of Support
23-Dec-2020

En esta publicación de blog conocerá más acerca de:

¿Qué es cURL?

cURL es una herramienta basada en líneas de comandos que puede usar para transferir datos por medio de protocolos de red. El nombre cURL quiere decir “URL cliente” y se escribe como “curl”. Este popular comando usa sintaxis URL para transferir datos desde y hacia servidores. “libcurl”, es una librería para transferencias URL del lado del cliente, es gratuita y de uso sencillo y soporta a cURL.

¿Por qué es beneficioso usar cURL?

La versatilidad de este comando significa que puede usar cURL para una variedad de casos de uso, incluyendo:

  • Autenticación de usuarios
  • Publicaciones HTTP
  • Conexiones SSL
  • Soporte de proxy
  • Carga de FTP

El “caso de uso” más sencillo de cURL es la carga y descarga de sitio web completos usando uno de los protocolos soportados.

Protocolos cURL

Mientras cURL tiene una larga lista de protocolos que soporta, usará HTTP de manera predeterminada si no se especifica un protocolo. Aquí se presenta una lista de protocolos soportados:

cURL comando - lista de protocolos soportados - dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, pop3, stmp, rtsp, scp, sftp, smb, sms, telnet, tftp

Instalación de cURL

El comando cURL está instalado de manera predeterminada en distribuciones de Linux.

¿Cómo verifica si ya tiene cURL instalado?

1. Abrir la consola Linux

2. Ingresar “cURL” y presionar “Enter”.

3. Si cURL ya está instalado, se mostrará el mensaje:

ventana de terminal cURL intente -ayuda -comandos manuales

4. Si no tiene cURL instalado, verá el siguiente mensaje: “comando no encontrado”. Entonces podrá recurrir al paquete de distribución e instalarlo (consultar más detalles más adelante).

Cómo usar cURL

La sintaxis de cURL es bastante sencilla:

command line Curl options url

Por ejemplo, si desea descargar una página web (página web.com) solo ejecute:

curl command line webpage.com

Entonces, el comando le dará el código fuente de la página en la ventana de su terminal. Mantenga en mente que si no especifica un protocolo, cURL usará HTTP de manera predeterminada. Más adelante, podrá encontrar un ejemplo de cómo definir protocolos en específico:

ftp cURL command line syntax

Si olvida agregar :// cURL adivinará el protocolo que desea usar.

Hablamos con brevedad acerca del uso básico del comando; sin embargo, puede encontrar una lista de opciones en el sitio de documentación de cURL. Las opciones son las posibles acciones que podría realizar en la URL. Al elegir una opción, se dice a cURL qué acción realizar en la URL que enlistó. La URL dice a cURL dónde necesita realizar esta acción. Entonces, cURL le permite enlistar una o varias URLs.

Para descargar múltiples URLs, agregue como prefijo a cada URL un -0 seguido de un espacio. Esto puede realizarse en una sola línea o puede escribir una línea diferente para cada URL. También puede descargar parte de una URL enlistando la páginas. Por ejemplo:

curl command line for multiple pages on website

 

Guardado de la descarga

Puede guardar el contenido de la URL en un archivo usando cURL con dos métodos diferentes:

1. Método -o : le permite agregar un nombre de archivo donde se guardará la URL. Esta opción tiene la siguiente estructura:

Command line CURL filename

2. Método -O : aquí no necesita agregar un nombre de archivo ya que esta opción le permite guardar el archivo bajo el nombre de la URL. Para usar esta opción, solo necesita agregar el prefijo -O a la URL.

Restableciendo la descarga

Es posible que su descarga se detenga a la mitad. En este caso, reescriba el comando, agregue la opción -C al inicio :

curl filename as URL

¿Por qué cURL es tan popular?

cURL en realidad es como la “navaja suiza” de los comandos, se creó para operaciones complejas. Sin embargo, hay alternativas, por ejemplo: “wget” o “Kurly” que funcionan bien con tareas más simples.

Entre desarrolladores, cURL es una favorita porque está disponible para casi cada plataforma. A veces, incluso está instalada de manera predeterminada. Esto significa que, sin importar qué programas o trabajo ejecuta, los comandos de cURL deben funcionar.

Además, es posible que si su SO tiene menos de una década de antigüedad, tendrá cURL instalado. También puede leer los documentos en un navegador y revisar la documentación de cURL. Si ejecuta un versión reciente de Windows, es probable que ya tenga cURL instalada. De no ser así, revise esta publicación en Stack Overflow para conocer más acerca de cómo hacerlo.

Raspado de datos con cURL

Tip pro: asegúrese de cumplir con las reglas de un sitio web y, en general, no intente tener acceso a contenido protegido por contraseña que sea mayormente ilegal o, al menos, mal visto.

Se puede usar cURL para automatizar el proceso repetitivo al raspar datos, que podría ayudarle a evitar tareas tediosas. Para este propósito, necesita usar PHP. A continuación, un ejemplo que encontramos en GitHub:

web scraping script in php using curl

Existen tres opciones cuando se usa cURL para realizar raspado de una página web, debe usar:

  • cURL_init($url) -> Inicia la sesión
  • curl_exec() -> Ejecuta
  • curl_close() -> Cierra
code syntax for scraping a web page using curl

Otras opciones que deben incluir:

  • Curlopt_url -> Establece la URL donde desea realizar raspado de datos
setting the URL you want to scrape with cURL
  • Curlopt_returntransfer -> ordena a cURL guardar el raspado de la página como una variable. (Esto le permite obtener con exactitud lo que deseaba extraer de la página).
curl command line for saving scraped page as a variable

¿Se ha cansado de las técnicas manuales de raspado de datos?

Bright Data ha puesto en marcha una solución totalmente automatizada, que no requiere código y le permite obtener acceso a sitios web enteros y puntos de datos con solo presionar un botón.

Gal El Al of Bright Data
Gal El Al | Director of Support

Head of Support at Bright Data with a demonstrated history of working in the computer and network security industry. Specializing in billing processes, technical support, quality assurance, account management, as well as helping customers streamline their data collection efforts while simultaneously improving cost efficiency.

Usted también puede estar interesado en

What is a proxy server & how does it work?

¿Qué es un servidor proxy y cómo funciona?

Esta guía cubre todo lo que se necesita saber acerca de servidores proxy incluyendo “cómo funcionan”, “los diferentes tipos de proxy disponibles en la actualidad”, además de una comparación entre proxies y VPNs para permitir a su compañía elegir la herramienta que sea mejor para su negocio.
How to use Selenium for web scraping

Guía para el raspado de datos web (scraping) usando Selenium

Esta es la única guía paso-a-paso que necesitará para comenzar a recopilar datos web de sitios objetivo y guardarlos como archivos CSV en menos de 10 minutos.
What is a reverse proxy

¿Qué es un proxy inverso?

Los proxies inversos pueden servir como una herramienta de cifrado más eficiente, ayudando a obtener un equilibrio de carga distribuida además de almacenamiento local en caché de contenido, asegurando así que se entregue de manera rápida a consumidores de datos. Este artículo es su guía fundamental de proxies inversos.
What is a private proxy

¿Qué es una proxy privada?

Las proxies privadas ofrecen mayor seguridad, privacidad y una tasa de éxito del 99.9% por un cobro adicional. Las proxies compartidas son opciones considerablemente más rentables para sitios objetivo con arquitectura más simple. Esta guía le ayudará exponiendo las diferencias, para una mejor toma de decisiones en su negocio.