El scraping web es la extracción de datos de un sitio web de forma estructurada. Es un método útil en muchas situaciones:
- Generar expedientes de prospección,
- Enriquecer un conjunto de datos,
- Personalizar la experiencia del cliente automáticamente, etc.
En este artículo, presentaremos 10 métodos y herramientas para el scraping web. Desde el eterno copiar y pegar (que funciona mucho mejor de lo que crees), hasta métodos más complejos para proyectos más grandes. 7 de estos 10 métodos no requieren ningún (o casi ningún) conocimiento previo.
Sommaire
/es/1. Copiar y pegar
Puede parecer una tontería, pero a menudo olvidamos lo bien que funciona el copiar y pegar. Puedes copiar y pegar todas las tablas que hay en Wikipedia en un archivo de Excel o en una hoja de cálculo de Google, por ejemplo. Si busca códigos postales, nombres de pila comunes, códigos telefónicos, tarda un minuto con este método. Este trabajo lleva literalmente un minuto, y me he encontrado varias veces buscando un patrón complicado en una tabla o cuadrícula, cuando con un copiar y pegar bastaría. La automatización es buena, pero a veces lleva mucho más tiempo que un método tan sencillo y eficaz como copiar y pegar.
- Muy fácil de usar,
- Muy rápido de hacer.
- Muy limitado.
#2. CapitánDatos
LinkClump es una de las mejores extensiones de Chrome para impulsar tus ventas. Utilizarlo es muy fácil. Con LinkClump, usted puede :
- Recupera los enlaces y sus títulos muy fácilmente,
- Seleccione sólo los enlaces importantes de una página determinada,
- Descarga de bancos de imágenes o archivos (en combinación con TabSave).
Si miras a tu alrededor, hay muchas cosas que en realidad son sólo enlaces a páginas web por razones de SEO. Por ejemplo, la mayoría de los directorios ponen un enlace a una página secundaria en todos sus títulos. Con LinkClump, puedes obtener las URLs y los títulos de todas estas páginas en poco tiempo. El caso de uso más común es la página de resultados de Google, pero hay muchos otros.
- Muy fácil de usar,
- Una extensión de Chrome de fácil acceso y que ahorra mucho espacio.
- Puedes descargar una gran cantidad de datos en poco tiempo.
- Bastante limitado
#4. TabSave: raspar un banco de imágenes o archivos
Los bancos de imágenes o archivos suelen presentarse en forma de imagen con un enlace a la fuente, de nuevo para cuidar el SEO. Así que puedes usar LinkClump para obtener todos los enlaces de las fuentes. Aquí es donde entra TabSave. Sólo tienes que pegar todos esos enlaces en TabSave y hacer clic en “Descargar”. Lo suficientemente potente como para recuperar grandes cantidades de archivos multimedia de la web.
Consejos de Salesdorado
Vaya a chrome://settings/?search=downloads. En Descargas > Ubicación, especifique una carpeta de destino creada para la ocasión. Todos los archivos descargados por su navegador irán ahora a esta carpeta. Una buena manera de evitar el desorden de la carpeta de descargas. A condición de que se acuerde de restaurar la carpeta por defecto después de la operación.
- Combina perfectamente con LinkClump,
- No tienes que hacer nada más que pulsar descargar para obtener tus datos.
- Tenga cuidado de no cargar demasiadas URLs cada vez. Cuando se estrella, se estrella bien.
#5. Hojas de cálculo de Google: menos de 1000 filas, pero con algunos elementos complicados de recuperar
De nuevo, un caso de uso bastante “tonto”, pero las hojas de cálculo de Google permiten hacer muchas cosas gracias a la función ImportXML. Gracias a la sintaxis XPath (muy importante en el webscraping, y no específica para este uso por parte de Google Spreadsheets), se puede obtener cualquier elemento de una página web muy fácilmente.
Se puede hacer un scrap con bastante facilidad utilizando xPath, Google Sheets y la función =importxml. Aunque su uso no está muy extendido, las consultas xPath pueden utilizarse para recuperar datos estructurados del contenido de las páginas web.
Por ejemplo, puede recuperar todos los títulos H2 del artículo que está leyendo escribiendo =importxml(“https://salesdorado.com/automatisation/meilleurs-outils-webscraping/”, “//h2”) en una celda de una hoja de cálculo de Google Sheets.
Esto es lo que se utiliza en el anotador de leads de Salesdorado para obtener el título de la página de inicio del dominio asociado a la dirección de correo electrónico de un contacto.
Consejos de Salesdorado
Tenga en cuenta que el uso de una hoja de cálculo abre la puerta a procesos dinámicos para refrescar o enriquecer sus datos de forma dinámica.
- Mucho más flexible
- Puede utilizarse en flujo (no sólo en lote)
- Requiere conocimientos de Xpath (se pueden adquirir con bastante rapidez).
- Apenas es viable más allá de las 1000 líneas.
Prueba las hojas de cálculo de Google
#6. WebScraper: para los principiantes que se enfrentan a grandes trozos (más de 1000 líneas)
Webscraper es una herramienta sin código, bastante sencilla de utilizar, que en realidad permite llegar bastante lejos. Tendrás que tener paciencia para crear los patrones y la ejecución del desguace en sí es… muy lenta. Pero el resultado está ahí, los tutoriales son fáciles de aprender (incluso sin haber escrito una línea de código en tu vida), y puedes hacer cosas más serias:
- Paginación,
- Interacciones con la página, etc.
- Fácil de usar y bastante potente
- No hay Xpath para escribir
- Bastante lento, tanto en su instalación como en su funcionamiento
#7. SpiderPro: para novatos con 38 dólares de sobra
Spider Pro es una de las herramientas más fáciles de usar para el scraping de Internet. Sólo tiene que hacer clic en lo que le interesa para convertir los sitios web en datos organizados, que luego puede descargar en formato JSON / CSV. Una herramienta perfecta para automatizar la prospección de su negocio. Es similar a Webscraper con una diferencia: la descarga de Spider Pro le costará 38 dólares (pago único).
- Muy fácil de usar
- Mucho más rápido de configurar que webScraper
- Es una herramienta de pago
#8. Apify : para raspar entre 1000 y 10000 líneas – Se requiere poca cultura web (sin código)
Ya hemos mencionadoa Apify en nuestras herramientas de prospección de correo electrónico, para elbuscador de correos electrónicos de Salesdorado.
Apify es una plataforma que permite ejecutar código a media escala, sin tener que gestionar nada en la configuración del servidor. A veces es superfluo, pero a menudo es valioso para evitar la lógica de la rotación de IP, etc. Sobre todo, hay una biblioteca muy completa de lo que ellos llaman “actores”, es decir, bots preconfigurados para los casos de uso más comunes. Gracias a Apify usted :
- Ahorrará mucho tiempo,
- Obtenga un rendimiento incomparable con PhantomBuster (alrededor de 10 veces más rápido en Apify según nuestra experiencia),
- Gastar muy poco.
Además, Apify te permite alimentar tus bots en tus procesos (a través de su API) para enriquecer o refrescar tus conjuntos de datos de forma dinámica.
Ten en cuenta que puedes utilizar Apify de forma gratuita hasta 10 horas al mes. Apify ofrece un paquete de 49 dólares al mes por 100h de máquina en el que tus datos se almacenan durante 14 días. Por 149 dólares al mes, tendrás una máquina de 400h. Por último, el paquete Business, de 499 dólares al mes, le proporcionará 2.000 horas de máquina al mes.
- Fácil de usar,
- Le ahorrará tiempo
- Requiere una cultura web bastante buena al menos.
#9. Scrapy: ir rápido, y fuerte
Scrapy es un poco de referencia para cualquiera que haya escrito Python. Es un marco de trabajo que te permite hacer scraping de forma rápida y sencilla. Puedes ejecutarlo localmente, en tus servidores / lambdas, o en la nube de scrapy. La gran limitación es para las páginas generadas en Javascript, que se utiliza cada vez más. En este caso, Scrapy recomienda (precisamente) buscar las fuentes de datos directamente utilizando la “Red” de su navegador.
La idea es que la página se vea obligada a ejecutar una consulta para obtener los datos que se van a mostrar y que, de hecho, muy a menudo es posible hacer esta consulta directamente. Sin embargo, esto no siempre es posible. Existe entonces una solución, mucho más engorrosa: ejecutar el Javascript con un navegador.
- Una herramienta de referencia para los entusiastas de Python
- Marco muy eficaz y bien documentado
- Limitación de las páginas generadas en Javascript
#10. Para proyectos más grandes: Puppeteer o Selenium
El problema de las páginas generadas dinámicamente con Javascript es cada vez más común, y si no se puede llamar a la fuente de datos directamente (normalmente 403), sólo hay una solución: utilizar un navegador. Recuerda comprobar que un bot no ha sido ya escrito por alguien en Apify (o en otro lugar), funciona con bastante regularidad y evita problemas.
Para ello, en Salesdorado, utilizamos Puppeteer en NodeJS porque es muy sencillo de escribir y está notablemente bien documentado. Los amantes de Python preferirán ir a Selenium. Para la ejecución, tiene dos opciones:
- Llamas a muchos sitios, un par de veces a cada uno: busca un lugar con buena velocidad de Internet y ejecuta todo localmente. Te ahorrarás horas de problemas y unos cuantos dólares.
- Llamas a un sitio, muchas veces: este es el caso más molesto, y el más común también. Mira AWS Lambda para manejar la rotación de IPs sin tener que hacerlo (las lambdas usan una IP diferente para cada ejecución, por debajo de cierta frecuencia de llamadas). Para proyectos pequeños, Apify puede ser una opción, pero puede resultar caro rápidamente.
- Potente, permite pasar por casi todos los sitios
- Costoso de instalar (en tiempo o dinero).
- Conocimientos previos