Cómo realizar Web scraping
Realizar técnicas de web scraping es una manera de optimizar el tiempo de estudio, investigación y análisis en procesos SEO y de Marketing. El tiempo que empleas en realizar tareas es muy valioso sobre todo cuando eres un SEO freelance. Realizar Scraping es interesante para emplearlo en auditorias SEO, analizar competencia y tomar decisiones de manera rápida sobre estrategias de contenido. También, se puede analizar la nuevas tendencias de publicaciones en otros blog y otras muchas acciones que en las que le puedes sacar partido. El scraping es una acción muy demandada por empresas y negocios en la red por la gran cantidad de datos beneficiosos que pueden aportar en decisiones estratégicas de marketing. Unas de las empresas que realiza un scrapeo de web a nivel industrial es Google que manda sus arañas (bots) a visitar las web para mejorar sus buscador y ofrecer una mejor respuesta de intención de búsqueda a los usuarios que lo utilizan.
Contenidos de la página
- 1 ¿Qué es el Scraping?
- 2 ¿Para qué sirve el web Scraping y qué aplicaciones tiene?
- 3 Formas de realizar Crawler de web
- 3.1 Web Scraper desde una extensión de navegador
- 3.2 X-Path en Google Spreadsheet extraction de datos web
- 3.3 Python Crawler personalizados y flesibles
- 3.4 Pero si eres técnico en programación y prefieres realizar tu propio bot, spider o crawler te dejo esta librerías de utilidades.
- 3.5
- 3.6 Algunas plataformas online para realizar extracciones de datos web
- 3.7 Programa de escritorio y extensiones de navegador para scrapear
- 4 Consecuencias del Scraping y ética a la hora de utilizarlo
¿Qué es el Scraping?
El scraping conocido también como: rastreo web y extracción de datos es una técnica basada en la navegación y extracción de datos de una web que se realiza de manera automática. Su finalidad es extraer todos los datos que le indiquemos de manera automática para más tarde poder comparar, analizar y cruzar estos datos obteniendo conclusiones sobre la competencia o la estrategia a seguir. Como apunte, el Scraping también se utiliza para técnicas de price mapping para la optimización de precios.
¿Para qué sirve el web Scraping y qué aplicaciones tiene?
El scraping se utiliza para obtener una gran cantidad de datos (Big data) e información de manera automática para su posterior análisis. Las una gran variedad de aplicaciones dependiendo del sector en el que se emplee.
(1) Análisis de marketing de contenido y monitorización de la competencia
Con el scraping podemos analizar las publicaciones de la competencia sacando conclusiones sobre la temática, el tiempo o calendario de publicación, autores, tendencias, jerarquía de contenido, estructura, productos, palabras claves (keywords) y otro contenido de interés.
(2) Optimización de precios para ecommerce
Con un Bots personalizado podemos extraer los precios de la competencia y analizarlos con los nuestros. También se puede crear un mapa de precios para ver cuando sube o baja los precios que comercializa.
(3) Automatización de creación de nichos (TSA)
El scraping es una manera eficiente de ahorro de tiempo para crear web de nicho de manera automatizada siguiendo el modelo de venta que funcionan en estos sectores.
(4) Investigación de nichos de potenciales clientes
Crear base de datos de futuros clientes en directorios de empresas.
Formas de realizar Crawler de web
Existen un montón de programas y utilidades para realizar scraping personalizado con software de escritorio, plataformas online, extensiones de navegadores y programación a medida. aquí te pongo algunos ejemplos.
Web scraper es una extensión de Chrome que en la parte gratuita ya nos permite extraer los datos de una web de manera automática. Estos datos después son descargados en un archivo csv. Podríamos poner un ejemplo sencillo si tuviéramos un blog de fútbol y quisiéramos tener un apartado con todo los jugadores de la liga podríamos scrapear las plantillas de los clubs en web de la liga y plantillas en ver de picarla a mano.
¿El contenido en csv se puede importar a wordpress?
Si, existen plugin como este que en su versión gratuita ya te permiten importar todo el contenido a wordpress
X-Path en Google Spreadsheet extraction de datos web
También es una utilidad de extracción de contenido, ya la utilizo más para el SEO técnico que realizo en mis auditorías. Comprendiendo las expresiones Xpath y combinándola con otras herramientas como Screaming Frog se puede hacer una herramientas SEO bastante potentes para el análisis de web. Además, muchos proyectos proyectos SEO tenemos que generarnos nuestra propia herramienta para realizar funcionalidades otra herramienta del mercado no pueden ofrecerte. Con X-Path y Google Spreadsheet puedes extraer contenido con la función ( ImportXml ). Por ejemplo para extraer el Title de una página web tendríamos que usar esta expresión
=ImportXML(B4; "//title")
donde en B4 estaría la url que analizamos.
Aquí te dejo una tabla con los expresiones X-Path que más utilizo para el SEO. Este fragmaneto lo he extraído de la web de mjcachon un referente en SEO donde puedes encontrar más expresiones
Lo que extrae | Expresión XPath |
Title de la página | //title |
Meta Description | //meta[@name=’description’]/@content |
URL AMP | //link[@rel=’amphtml’]/@href |
Keywords News | //meta[@name=’news_keywords’]/@content |
Canonical URL | //link[@rel=’canonical’]/@href |
Meta Robots | //meta[@name=’robots’]/@content |
H1 | //h1 |
H2 | //h2 |
H3 | //h3 |
Alt text | //img/@alt |
Imágenes sin alt text | //img[not(@alt)]/@src |
Localización de la imagen | //img[@alt]/@src |
Anchor text | //a/text() |
Anchor text (incluyendo alt text) | (//a/text() | //a/img/@alt) |
Todos los links del documento | //@href |
Python Crawler personalizados y flesibles
Python en una herramienta super potente y flexible para crear Crawler personalizados. El problema es que más que una herramienta es un lenguaje de programación bastante complejo si no eres programador. Python dispone de recursos, aplicaciones y librerías para facilitar el scraping. Uno de las librerías más conocidos es Selenium.
Pero si eres técnico en programación y prefieres realizar tu propio bot, spider o crawler te dejo esta librerías de utilidades.
Hoy en día todo el mundo puede crear un programa de Scraping sin saber programación, en la red existe un montón de contenido para crear un bot que visite las página de manera automática y extraiga el contenido que queremos.
- The DOMXPath class
- Guxxle 6
- Casperjs.org
- Pjscrape by Nick Rabinowitz
- PhantomJS – Scriptable Headless Browser
- SlimerJS
- Scrapy
- Noodle
- BeautifulSoup
- PHPCrawl
- Sphider.eu
- Mechanize
- PHP-Spider
- PHP Simple HTML DOM Parser
- Web-harvest
- Nightmare
- Zombie
- SpookyJS
- Selenium
- Pypi.org
Algunas plataformas online para realizar extracciones de datos web
Si por otro lado no quieres saber nada relacionado con el código de programación para crear tu propio Crawler puedes utilizar estas alternativas online para scrapear sin tener que programar nada.
- 80 leds plataforma de Screaping
- Datahut plataforma de Screaping
- Portal para Scrapear
- Iweb Servicios de Screaping
- Portal de extracción de datos por Scraping
- Web Grepsr de servicios de scraping
- Scrapinghub extrae datos web
- Octoparse
También existen una gran variedad de programas de escritorio y extensiones de navegador para realizar screaping y ahorramos tiempo en la investigación, aquí dejo una lista.
- Screamingfrog
- Xenus link
- FMiner,
- OutWit Hub,
- Scraper,
- USCIS Scraper,
- Web Scraper,
- Screen-Scraper,
- DataMiner,
- FB UID Scraper,
- ScreenScraper,
- HTML Regex Data Extractor,
- TableTools2,
- OpenRefine,
- Kimono,
- artoo.js
Consecuencias del Scraping y ética a la hora de utilizarlo
La practica de Scraping no es ilegal pero se tiene que tener una cierta consideración con lo que se esta extrayendo y cómo lo estamos haciendo. Por ejemplo, los bots de Google, Ahrefs y Big se identifican al analizar la web en su encabezado http con la compañía que los ha creado, es el caso por de Googlebot de Google. Además estos bots lo primero que hacen es acceder al archivo robots.txt de la página web donde les dicen que partes de ella tiene restringida.
Por lo contrario cuando realizamos una extracción de datos de web con técnicas de scraping creamos una visita artificial en el sitio que estamos ¨escrapeando¨. Esto puede generar una consumo excesivo de datos en el hosting de la página web en la que lo estamos haciendo pudiendo crear problemas en la página. También, si no tiene filtros puestos en Analytics puede tener variaciones de tráfico en la analítica de la web. Por ese motivo, recomiendo siempre hacer este tipo de acciones de un manera ética manera siguiendo estos pasos:
- Robots.txt: Antes de realizar un scraping revisa el archivo robots.tst para saber que restricciones tiene la pagina que vas rastrear.
- Busca la API: Algunas páginas web ofrecen una API para este tipo de crawler ofreciendo solo el contenido que quieres que se descarguen.
- Tasa de rastreo: Si rastreas mu rápido la página web puede que en el alojamiento o hostring les parezca que es un ataque al recibir tantas solicitudes de los bots. Un consejo, tómatelo con calma.
- Leyes de dónde está alojado el sitio: Si descargas datos de sitios fuera de España tienes que tener en cuentas la lay de política de datos del país.
- Identificación de Scraper: Si creas tú la araña de rastreo crea un documento que diga quién eres y para vas a utilizar los datos, es un buena práctica.
- Protección de los datos recopilados: Asegúrate que los datos que quieres descargar no tiene protección de derechos de autor, es mejor no recopilarlos.
No todos los programas scraping lo he probado algunos lo he sacado de un listado que vía hace tiempo en el blog de felicianoborrego.com
Si te ha gustado este post, comenta aquí mismo y comparte en tus redes sociales favoritas 🙂
Soy un apasionado del Marketing digital y el posicionamiento en buscadores (SEO). Dispongo de más de 18 años de experiencia en la comunicación para venta de productos y servicios por Internet. Estoy especializado en Marketing Digital, SEO y SEM. Promociono marcas, empresas y negocios por internet ofreciendo asesoramiento personalizados con el valor añadido de mi experiencia en el sector de la comunicación por internet.
¿Quieres saber más de mí? pulsa aquí
Quiero recomendarle un software de web scraping más simple adecuado para no programadores. Lo aprendí a través del artículo de Medium y lo probé. Descubrí que solo necesito abrir el sitio web y hacer clic en el campo. Para extraer datos en unos minutos, creo que su función es poderosa y la extracción de datos es muy precisa y rápida. Tambien Octoparse tiene version de espanol. El website es https://www.octoparse.es/